簡體   English   中英

json數組的內容-如何使用js獲取所有元素

[英]content of json array - how to get all elements using js

我正在嘗試獲取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”的所有值?

問候。

試試下面的東西

for (var i in obj[1].w) {
  console.log(obj[1].w[i]);
}

您已經了解了很多,在for循環中需要的是obj[1].w[i]來訪問每個值。

請記住,此代碼非常依賴於它始終是數組中的第二個對象,您應該使其更具動態性或在執行過程中檢查錯誤。

您將需要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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM