Javascript 尝试访问JSON数组中的密钥

Javascript 尝试访问JSON数组中的密钥,javascript,jquery,json,chart.js,Javascript,Jquery,Json,Chart.js,我正在尝试将ChartJS集成到一个项目中。我有一些通过Ajax返回的JSON数据,使用以下方法: $(".symptom-graph").each(function(){ Tygh.$.ceAjax( 'request', fn_url('symptom_tools.ajax_symptom_graph'), { data:{ symptom_ids: $(this).data('symptom-id')

我正在尝试将ChartJS集成到一个项目中。我有一些通过Ajax返回的JSON数据,使用以下方法:

$(".symptom-graph").each(function(){
    Tygh.$.ceAjax(
      'request',
      fn_url('symptom_tools.ajax_symptom_graph'),
      {
        data:{
          symptom_ids: $(this).data('symptom-id')
        },
        callback: function(data) {
          $(".symptom-graph").each(function(){
            if($(this).data('symptom-id') == data['symptom_ids'])
            {
              //TODO: load up graph stuff here
              $(this).html(data['graph_data']);
            }
          });
        }

      }
    );
  });
上述代码返回以下JSON数据:

[{
    "x": "0",
    "y": "35"
}, {
    "x": "1",
    "y": "6"
}, {
    "x": "2",
    "y": "3"
}, {
    "x": "3",
    "y": "11"
}, {
    "x": "4",
    "y": "2"
}]
我试图访问数组中的每个项目,并拉出X或Y坐标,以便Chart JS脚本中的
数据:[]
数组具有每个项目的属性

我尝试了以下方法来访问Y或X坐标:

data['graph\u data']['0']['y']

data['graph\u data'][0]['y']

data['graph\u data']['y']

data['graph\u data'][0]

我也不知道我会如何在每一个上面循环

任何指导/解决方案都会很有帮助,谢谢。

请像这样使用JQuery:

$.each(data['graph_data'],function(index,data){
  console.log(data.x);
  console.log(data.y);
})
您还可以使用
$.each()
函数,并使用
jQuery.parseJSON(YourJsonDataSet)

var xArray=[];
$(文档).ready(函数(){
var data=jQuery.parseJSON('[{“x”:“0”,“y”:“35”},{“x”:“1”,“y”:“6”},{“x”:“2”,“y”:“3”},{“x”:“3”,“y”:“11”},{“x”:“4”,“y”:“2”});
$.each(数据、函数(索引、值){
console.log(“X-”+value.X+“和Y-”+value.Y)
推送(value.x);
});
警报(xArray.join())
})

您可以使用像
for
这样的普通循环语句进行迭代,或者在使用jQuery时,使用$。每个

var i;
for (i = 0; i < data.graph_data.length; i += 1) {
  // data.graph_data[i].x
  // data.graph_data[i].y
}

在支持EcmaScript 6的现代浏览器中,您可以使用@Mamun的
Array.forEach
。若要查看是否可以在浏览器中使用该数组,请在

处查看该数组,然后将该数组派生为对象,然后可以对其进行迭代。不确定这是否回答了您的问题

var神话=[{
“x”:“0”,
“y”:“35”
}, {
“x”:“1”,
“y”:“6”
}, {
“x”:“2”,
“y”:“3”
}, {
“x”:“3”,
“y”:“11”
}, {
“x”:“4”,
“y”:“2”
}];
对于(变量i=0;i}
尝试像这样访问数据['graph_data'][0].x,因为你的数组是一个对象。你是否从你提到的方法中获得坐标值,只是想得到迭代它们的帮助?@McBern这与
数据['graph_data']['0']['x'][/code>只是使用了不同的语法?['x']该运算符用于非对象数组。这个运算符用于对象array@McBern就是。方括号可以用于对象和数组。这很有效!如何将所有的X值组合成一个变量,每边用逗号宽度的大括号隔开,例如:[20,10,40,30]我已编辑。向数组添加值并使用
array.join()
“”
$.each(data.graph_data, function(item) {
  // item.x
  // item.y
});