0

我有这个问题:我有一个 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”、“篮球”
等等。

你能帮我解决这个问题吗?

4

1 回答 1

1

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

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

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]);
       }
    }
}
于 2013-04-24T10:20:44.387 回答