1

我已经设置了一个循环,.each用于将 json 编码字符串转换为用于 jquery jqBarGraph 的数组

循环:

     $.each(dataarray, function (i, item) {
         JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];                        
     });

dataarray 中的数据包含一个 json 字符串 =

    {"graph":{"count":"45","year":"2007"}}

after.each循环在 JSarray 中包含这些值

    [45, 2007]

所以单个字符串有效,当我尝试传递更多数据时,我得到 vale NaN

如果我尝试在数据数据数组中使用这个 json 编码字符串,NaN 就会出现

{"graph":[{"count":"45","year":"2007"},{"count":"390","year":"2008"}]}

我的 JSarray 看起来像这样

[NaN, NaN]

我究竟做错了什么?

4

3 回答 3

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它有点贵。

于 2012-10-08T13:45:33.090 回答
0

请执行下列操作 :

$.each(dataarray.graph, function (i, item) {
  JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];                        
});
于 2012-10-08T13:53:02.013 回答
0

你需要:

$.each(dataarray['graph'], function (i, item) {
  JSarray[i] = [parseInt(item['count']),parseInt(item['year'])];                        
});
于 2012-10-08T13:53:55.800 回答