【问题标题】:access the json elements using loop in nodejs在nodejs中使用循环访问json元素
【发布时间】:2017-03-15 15:49:52
【问题描述】:

谁能给我这个程序的正确解决方案。如何使用 foreach 循环打印所有值。我试过但我收到了一个未定义值的错误提前谢谢...我正在等待回复...

differ.json:


{
"table":
[
   {
      "place":
      {
        "STATE":"TAMILNADU",
        "DISTRICT":"VELLORE"
      }
   },
  {
    "place":
    {
      "STATE":"KERALA",
      "DISTRICT":"ALAPHUZHA"
    }
  },
  {
    "place":
    {
      "STATE":"ANDHRA PRAADESH",
      "DISTRICT":"KUNTUR"
    }
  }
]
}
Nodejs file:

var fs = require('fs');
var obj1 = fs.readFileSync('differ.json', 'utf8');
var data=JSON.parse(obj1);
var countobjects = Object.keys(data).length;
console.log(countobjects);
for( var place in data.table)
{
    for( var field in data.table[place])
    {
        console.log("State:" + data.table[place].field);
        console.log("District:" + data.table[place].field);
    }
}

【问题讨论】:

    标签: json node.js for-loop


    【解决方案1】:

    您可以使用forEach如下:

    data.table.forEach(function(element){
      console.log(element.place.STATE);
      console.log(element.place.DISTRICT);
    })
    

    【讨论】:

      【解决方案2】:

      您应该在循环中使用of 而不是in,并且可以使用像这样的ES6 字符串模板文字来简化它...

      const data = { "table": [{ "place": { "STATE":"TAMILNADU", "DISTRICT":"VELLORE" } }, { "place": { "STATE":"KERALA", "DISTRICT":"ALAPHUZHA" } }, { "place": { "STATE":"ANDHRA PRAADESH", "DISTRICT":"KUNTUR" } }] }
      
      for (const d of data.table) {
        const s = `State: ${d.place.STATE}\nDistrict: ${d.place.DISTRICT}`
        console.log(s)
      }

      【讨论】:

        猜你喜欢
        • 2019-09-04
        • 1970-01-01
        • 2016-02-12
        • 2020-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多