【问题标题】:Extracting values from json从json中提取值
【发布时间】:2014-04-10 13:34:04
【问题描述】:

我在试图弄清楚如何从这个 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
}

【问题讨论】:

    标签: javascript json loops


    【解决方案1】:

    你需要遍历对象并只选择需要的属性,像这样

    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
    

    【讨论】:

      【解决方案2】:
      for (var i = 0; i < obj.length; i++) { 
         console.log(obj[i][0].name); 
         console.log(obj[i][0].url); 
      } 
      

      【讨论】:

        【解决方案3】:
        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);
            }
        }
        

        【讨论】:

          【解决方案4】:

          这里有两种访问名称的方法。

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

          【讨论】:

            【解决方案5】:

            您可以使用点运算符简单地提取

            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);
                });
            
            }
            

            【讨论】:

              猜你喜欢
              • 2023-04-04
              • 2014-09-13
              • 2020-05-03
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2019-04-17
              • 2015-12-19
              相关资源
              最近更新 更多