我正在尝试在json字符串中获取数组(未知大小)的内容。
以下内容:
var text = '[ { "_id" : { "$oid" : "54426dbfe4b0a1df0eb4a0f6"} , "user" : "fran" , "fecha" : "18/10/2014" , "time" : "7"} , { "_id" : { "$oid" : "54426efae4b00975f860fc06"} , "user" : "elle" , "fecha" : "18/10/2014" , "time" : "9" , "w" : { "w1" : "dog, dok" , "w2" : "cat, kat", "w3" : "pork, porc"}} ]';
obj = JSON.parse(text);
document.getElementById("demo").innerHTML =
//obj[0].score;
//obj[0].user;
//obj[1].w.w1;
for (var i in obj[1].w) {
console.log(i);
}
如何循环并获取“w”的所有值?
问候。
答案 0 :(得分:0)
尝试类似以下内容
for (var i in obj[1].w) {
console.log(obj[1].w[i]);
}
答案 1 :(得分:0)
你已经得到了它,你需要的所有东西,for循环obj[1].w[i]
来访问每个值。
请记住,此代码非常依赖于它始终是数组中的第二个对象,您应该使其更具动态性或检查错误。
答案 2 :(得分:0)
你需要一些东西recursive
这是我写过的简短内容,您可能希望扩展它:
function print(obj) {
for (var key in obj) {
if (typeof obj[key] == 'string') {
console.log(key + ':' + obj[key]);
} else {
console.log(key + ' recursive');
print(obj[key]);
}
}
}
var text = '[ { "_id" : { "$oid" : "54426dbfe4b0a1df0eb4a0f6"} , "user" : "fran" , "fecha" : "18/10/2014" , "time" : "7"} , { "_id" : { "$oid" : "54426efae4b00975f860fc06"} , "user" : "elle" , "fecha" : "18/10/2014" , "time" : "9" , "w" : { "w1" : "dog, dok" , "w2" : "cat, kat", "w3" : "pork, porc"}} ]';
var myObj = JSON.parse(text);
print(myObj);
这是你的JSFIDDLE。