如何遍历此数据:(我无法控制格式)
{"rowCount":3,"1":{"K":"2009","V":"Some Data"},"2":{"K":"2010","V":"More Data"}}
上面是console.log(结果),结果是一个字符串
var r = JSON.parse(results);
var t;
for(var i=1;i<=r.rowCount;i++) {
t=r[i].V;
tableData.push(
{title:t, year:'2009', hasChild:true, color: '#000'}
);
}
错误:TypeError:'undefined'不是对象(评估'r [i] .V')
我无法评估变量i。我究竟做错了什么? 感谢
更新
传入的数据导致错误的行数不正确。然而,接受的答案是正确的...只是我的用户错误没有捕获错误的传入数据。如果我在循环中放置一个console.log,我会意识到错误实际上是在两次成功循环之后发生的。糟糕
答案 0 :(得分:3)
我认为r.rowCount
应为j.rowCount
。
理想情况下,如果您还没有(i
关键字),也应该初始化var
变量。
(我还将var t
声明移到了循环之外,以明确说明它始终是t
相同而你只是改变它的价值。你不应该每次都用var
重新宣布它 - 虽然我怀疑这会影响输出。)
var j = {"rowCount":2,"1":{"K":"name","V":"john"},"2":{"K":"name","V":"sue"}};
var t;
for (var i = 1; i <= j.rowCount; i++) {
t = j[i].V;
console.log(t);
}