我是使用JSON的新手,我无法从解析的JSON对象中提取数据:
我有一个getstats.php文件,它回应了mysql查询的json编码结果。以下是php文件返回的示例:
[{ “×”: “0”, “标签”: “七月”, “Y”: “23”},{ “×”: “1”, “标签”: “八月”, “y” 的: “58”},{ “×”: “2”, “标签”: “九月”, “Y”: “78”},{ “×”: “3”, “标签”: “十月”,” Y “:” 77" }]
这是由一个单独的javascript文件中的ajax查询捕获的:
$.ajax({
type: "POST",
url: "getstats.php",
dataType: "json",
data: {start : start, end : end},
success: function(data) {
//here I deal with the JSON
}
});
到目前为止,我可以单独访问每个值(data[2].month == 'September'
...)
我想拆分变量data
,这样我就可以将这些值用到flot图表中,所以我需要这样的东西:
var dataset = [[0,23],[1,58],[2,78],[3,77]];
var xlabel = [[0,'July'],[1,'August'],[2,'September'],[3,'October']];
我无法找到一种简单的方法(我的意思是不通过data
循环并逐个将值提取到新数组中。)
答案 0 :(得分:1)
除非你重组JSON来代表两个数组,否则我看不到不同的方式。无论是循环自己还是使用某些库中的辅助方法或您自己的代码,都必须遍历它。
因此,据说您的数据JSON可能有两个名为PropA
和PropB
的属性,这两个属性将完全符合您的dataset
和xlabel
数组所需的属性。因此,您不必循环浏览数据:
dataset = data.PropA
xlabel= data.PropB