JSON数据的分配无效

时间:2012-07-04 06:01:16

标签: javascript json

var datas = [{ "_id" : { "$oid" : "4feeaa97cb675ea1a62cf64a"} , "Amount" : 35.0 , "Category_ID" : "Vegetables"}, { "_id" : { "$oid" : "4feeaaafcb675ea1a62cf64b"} , "Amount" : 55.0 , "Category_ID" : "Vegetables"}]; // these data are from database...

我想将其指定为,

var obj = {"row": datas};

但是当我使用时,它不起作用,

 var data = new google.visualization.DataTable();         
 data.addColumn('string','Category_ID');
 data.addColumn('number','Amount'); 
 data.addRows([
                   [obj.row[0].Category_ID, obj.row[0].Amount],
               [obj.row[1].Category_ID, obj.row[1].Amount],
               [obj.row[2].Category_ID, obj.row[2].Amount]
             ]);

2 个答案:

答案 0 :(得分:2)

这应该有效:

 var data = new google.visualization.DataTable();         
 data.addColumn('string','Category_ID');
 data.addColumn('number','Amount'); 
 data.addRows([
                   [obj.row[0].Category_ID, obj.row[0].Amount],
               [obj.row[1].Category_ID, obj.row[1].Amount]
]);

这是因为您的数据阵列只有2个元素,但您尝试访问三个元素。

答案 1 :(得分:2)

如果你不知道你有多少行,你可以这样做:

data.addRows(obj.row.map(function(el) {
  return [el.Category_ID, el.Amount];
}));