簡體   English   中英

從json提取值

[英]Extracting values from json

我在嘗試弄清楚如何從此Json提取名稱和URL時遇到麻煩。

這是我的Json和Javascript。 這樣可以成功遍歷並提取每個對象,例如“ 1977”部分。 但是我需要提取名稱和URL並顯示它們。 有人可以幫忙嗎? 這是如此簡單,我簡直不敢相信我要問。

[{
    "1977": [{
        "name": "my name 1",
        "url": "myurl 1"
    }],
    "2104": [{
        "name": "my name 2",
        "url": "myurl 2"
    }]
}]

var obj = JSON.parse(jsonString); //a parses above json
for (var i = 0; i < obj.length; i++) { 
    console.log(obj[i]); //returns the object
}

您需要遍歷對象並僅選擇所需的屬性,像這樣

for (var i = 0; i < obj.length; i++) {
    for (var year in obj[i]) {
        console.log("Current year is", year);
        console.log(obj[i][year][0].name);
        console.log(obj[i][year][0].url);
    }
}

產量

Current year is 1977
my name 1
myurl 1
Current year is 2104
my name 2
myurl 2
for (var i = 0; i < obj.length; i++) { 
   console.log(obj[i][0].name); 
   console.log(obj[i][0].url); 
} 

這是訪問名稱的兩種方法。

obj[0]['1977'][0]['name']

obj[0]['1977'][0].name
for (var i = 0; i < obj.length; i++) {
    for (var j=0; j<obj[i].length; j++) {

        console.log(obj[i][j][0].name);
        console.log(obj[i][j][0].url);
    }
}

您可以簡單地使用點運算符提取

for (var i = 0; i < obj.length; i++) {
    var og = obj[i];
    Object.keys(og).forEach(function (key) {  //missed to loop through it
        console.log(og[key][0].name);
        console.log(og[key][0].url);
    });

}

暫無
暫無

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

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