JSON的JSON迭代

时间:2013-04-24 10:16:58

标签: javascript json iteration

我有这个问题:我有一个JSON对象,我想在javascript函数中迭代它,但它由其他JSON对象组成。 例如:

[ 
    {"id"="1", "result"=[{"name"="Sam","age"="12"},{"sport"="soccer"}]},
    {"id"="2", "result"=[{"name"="Paul","age"="43"},{"sport"="basketball"}]}
]

我会以这种方式迭代它来处理价值观:
1)第一次迭代:我想和:“Sam”,“12”,“soccer”一起工作 2)第二次迭代:我想与之合作:“保罗”,“43”,“篮球” 等等。

你可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

首先,您必须修复对象文字。您必须使用而非 = 作为键值对。

之后,您可以按以下方式进行迭代:

var obj = [ {"id":"1", "result":[{"name":"Sam","age":"12"},{"sport":"soccer"}]},
{"id":"2", "result":[{"name":"Paul","age":"43"},{"sport":"basketball"}]}];

for (var i = 0; i < obj.length; i += 1) {
    console.log("Name", obj[i].result[0].name);
    console.log("Age", obj[i].result[0].age);
    console.log("Sport", obj[i].result[1].sport);
}

如果你想用循环进行整个遍历,你可以使用:

var obj = [ {"id":"1", "result":[{"name":"Sam","age":"12"},{"sport":"soccer"}]},
{"id":"2", "result":[{"name":"Paul","age":"43"},{"sport":"basketball"}]}];

for (var i = 0; i < obj.length; i += 1) {
    for (var j = 0; j < obj[i].result.length; j += 1) {
       var current = obj[i].result[j];
       for (var prop in current) {
          console.log(prop, current[prop]);
       }
    }
}