分隔 JSON 对象的值

Separating values of JSON object

本文关键字:对象 JSON 分隔      更新时间:2023-09-26

我是使用JSON的新手,从解析的JSON对象中提取数据时遇到问题:

我有一个getstats.php文件,它回显了来自mysql查询的json编码结果。以下是 php 文件返回的示例:

[{"x":"0","标签":"七月","y":"23"},{"x":"1","标签":"八月","y":"58"},{"x":"2","标签":"九月","y":"

78"},{"x":"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以便我可以将这些值使用到批量图中,所以我需要类似的东西:

 var dataset = [[0,23],[1,58],[2,78],[3,77]];
 var xlabel = [[0,'July'],[1,'August'],[2,'September'],[3,'October']];

我想不出一种简单的方法来做到这一点(我的意思是不用循环遍历data并将值一一提取到新数组中)。

除非您重组 JSON 以表示两个数组,否则我看不到不同的方式。无论您是自己循环还是使用来自某个库或您自己的代码的帮助程序方法,都必须遍历它。

因此,话虽如此,您的数据 JSON 可以有两个称为 PropAPropB 的属性,这两个属性将具有datasetxlabel数组所需的属性。因此,与其循环访问数据,不如执行以下操作:

dataset = data.PropA
xlabel= data.PropB