Javascript 尝试访问JSON数组中的密钥
我正在尝试将ChartJS集成到一个项目中。我有一些通过Ajax返回的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')
$(".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
});