我有这个问题:我有一个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”,“篮球”
等等。
你可以帮我解决这个问题吗?
答案 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]);
}
}
}