是否有办法转换这个json数据:
[
{
"year":"1999",
"value":"3.0"
},
{
"year":"2008",
"value":"0.9"
}
]
像这样:
{
"data": [[1999, 3.0], [2008, 0.9]]
}
检查值的类型("3.0"和3.0,字符串和整数)。
我很难弄明白这一点,或者这是可能的。
这就是我如何获得json数据:我有"数据"表在我的数据库中有"年"answers"值"列,我从数据库中获取它们,如:
$sql = mysql_query("SELECT * FROM data");
$rows = array();
while($r = mysql_fetch_assoc($sql)) {
$rows[] = $r;
}
$encodedJson = json_encode($rows);
$encodedJson = json_encode($rows);
print $encodedJson;
我试图从我的数据创建一个图形,json数据必须正确格式化在Flot工作。感谢所有的帮助!
您可以将对象数组映射为多维数组:
var mapped = originalData.map(function (obj) {
return [ parseInt(obj.year, 10), parseFloat(obj.value) ];
});
var newData = {
data: mapped
};
可能的解决方案
var a = [
{
"year":"1999",
"value":"3.0"
},
{
"year":"2008",
"value":"0.9"
}
];
var b = [];
$.each(a, function(_index, _item){
var c = [_item["year"], _item["value"]];
b.push(c);
});
console.log(b)
试试这个。PHP:
$sql = mysql_query("SELECT * FROM data");
$rows = $sql->results_array();
$return_args = array();
foreach($rows as $row){
$tmp[0] = $row['year'];
$tmp[1] = $row['value'];
array_push($return_args,$tmp);
}
$encodedJson = json_encode($return_args);
print $encodedJson;