我已经使用.each
设置了一个循环,以便将json编码字符串转换为用于jquery jqBarGraph的数组
循环:
$.each(dataarray, function (i, item) {
JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];
});
dataarray中的数据包含json string =
{"graph":{"count":"45","year":"2007"}}
.each
循环在JSarray 中包含这些值之后的
[45, 2007]
所以单个字符串可以正常工作,当我尝试传递更多数据时,我会得到谷值NaN
如果我尝试在数据数据阵列中使用这个json编码字符串,那么NaN就会出现
{"graph":[{"count":"45","year":"2007"},{"count":"390","year":"2008"}]}
我的JSarray看起来像这样
[NaN, NaN]
我做错了什么?
答案 0 :(得分:2)
{"graph":[{"count":"45","year":"2007"},{"count":"390","year":"2008"}]}
graph
属性现在包含一个数组。你需要迭代它来解析你的整数。
我会尝试这个......
$.each(dataarray.graph, function(_, obj){
JSarray.push([parseInt(obj.count), parseInt(obj.year)]);
});
请注意,定期for
循环最好,因为$.each
对此有点贵。
答案 1 :(得分:0)
执行以下操作:
$.each(dataarray.graph, function (i, item) {
JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];
});
答案 2 :(得分:0)
你需要:
$.each(dataarray['graph'], function (i, item) {
JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];
});