从javascript中的文件读取json

贾斯

我有这个json文件:

test.json

{"rows" : [
  {"key": "value"},
  {"key": "value"}
 ]
}

我尝试下面的代码来阅读它:

var json = require('test.json');
for (var row in json.rows) {
    console.log(row.key);
}

它打印:

/usr/local/bin/node json-parser.js
undefined
undefined

我究竟做错了什么?

普拉纳夫·C·巴兰(Pranav C Balan)

哪里row是变量保持性名称而不是对象,所以你需要使用属性的名称进行检索(参见:for...in循环文件)。在您的情况下,它将是数组的索引。这里不需要使用for...in迭代器,简单的for循环就足够了。

for (var row in json.rows) {
  console.log(json.rows[row].key);
}

var json = {
  "rows": [{
    "key": "value"
  }, {
    "key": "value"
  }]
};

for (var row in json.rows) {
  console.log(json.rows[row].key);
}


用一个简单的for循环

for (var i=0;i < json.rows.length; i++) {
  console.log(json.rows[i].key);
}

var json = {
  "rows": [{
    "key": "value"
  }, {
    "key": "value"
  }]
};

for (var i = 0; i < json.rows.length; i++) {
  console.log(json.rows[i].key);
}


由于该属性持有数组useArray#forEach方法,因此需要进行迭代。

json.rows.forEach(function(v){
  console.log(v.key);
}

var json = {
  "rows": [{
    "key": "value"
  }, {
    "key": "value"
  }]
};

json.rows.forEach(function(v) {
  console.log(v.key);
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章