我一直在绞尽脑汁地想弄清楚这个问题。 我正在使用 ZingChart 绘制 MySQL 查询中的一些数据。我将数据放入 PHP 数组中,然后使用:
var myData = <?php echo json_encode($combined); ?>;
将其放入 JavaScript 数组中。 如果我这样做:
document.write(myData[0]);
然后它会显示该索引的正确值。当我尝试将数组与 ZingChart 的 JSON 一起使用时,我发现它在所有数据周围都加上了引号,但出于某种原因,它不喜欢这样做。如果我使用记事本手动删除引号,数据显示得很好,所以我知道这只是以某种方式删除这些引号的问题。
例如,当我从页面查看源代码时,它的外观如下:
var myData = [["1466766034467","71.191"],["1466766094482,71.1986"]];
我尝试了很多方法,花了很多时间尝试将数据传递到 JSON(不带引号),但我知道的足够危险,所以希望有人可以指导我。
document.write(myData[1]);
结果为:1466766094482,71.1986
提前致谢。
最佳答案
假设您运行的是最新版本的 php,您可以将 JSON_NUMERIC_CHECK
添加到 json_encode()
选项参数
json_encode($combined, JSON_NUMERIC_CHECK);
或者在 JavaScript 中使用各种方法迭代数组并将值转换为数字
myData.forEach(function(arr){
arr[0] = +arr[0];
arr[1] = +arr[1];
})
关于Javascript 数组不带引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38043701/