我是一个php查询,它创建从运行的SQL查询接收的数据的JSON数据。使用此查询
使用此查询创建JSON数据echo json_encode($res->fetch_all(MYSQLI_ASSOC), JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES | JSON_PRETTY_PRINT );
现在我想使用fusionchart绘制图表,我需要将此数据转换为数组。我尝试了一个示例JS代码将JSON数据转换为JS数组并且它可以工作
var data = { "timestamp": "2016-09-23", "value1": "0", "value2": "0", ........., "value49": "0", "value50": "0" };
var arr = [];
for (elem in data) {
arr.push(data[elem]);
}
console.log(arr);
现在在 data 变量中我需要从php代码传递数据。这只是我手动输入的记录之一。有超过一百万条记录,我需要转换它们。我是怎么做到的?
答案 0 :(得分:1)
您可以使用Object.values()
函数从对象中获取值。
var data = { "timestamp": "2016-09-23", "value1": "0", "value2": "0", "value49": "0", "value50": "0" };
var arr = Object.values(data);
console.log(arr);
对于PHP
您可以使用以下代码仅在PHP
中发送值并省略密钥。 json_decode
将JSON
字符串转换为数组。 implode
将数组转换为字符串。
<?php
$str = '{ "timestamp": "2016-09-23", "value1": "val1",
"value2": "val2", "value49": "val49", "value50": "val50" }';
$myJSON = json_decode($str, true);
echo '[' . implode(",", $myJSON) . ']';
结果:
[2016年9月23日,VAL1,val2的,val49,val50]
答案 1 :(得分:1)
您可以使用parseJSON()
功能:
var obj = jQuery.parseJSON( '{ "name": "John" }' );
alert( obj.name === "John" );