javascript - 在javascript中从文件中读取json

标签 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

我做错了什么?

最佳答案

其中 row 是保存属性名称的变量而不是对象,因此您需要使用属性名称来检索它(引用: for...in loop documentation )。在你的情况下,它将是数组的索引。无需使用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);
}

<小时/>

由于该属性包含一个数组,因此请使用Array#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);
})

关于javascript - 在javascript中从文件中读取json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38120188/

相关文章:

javascript - 错误处理属性类型

javascript - html5 音乐游戏/应用程序的 javascript 计时

javascript - 克隆 SVGMatrix 的规范方法是什么?

javascript - 样式文档.write javascript

mysql - 如何更新 mysql 5.7 中 json 列中的动态键数作为准备好的语句

javascript - 在 Javascript 中合并两个 json 对象?

json - 使用 Spring 和 JSON 进行 Dojo Grid 排序

javascript - 我正在使用 react-native-photo-upload 库上传个人资料图片,但它抛出构建失败错误

javascript - jstree 从树中获取新的 json 数据

javascript - 如何更新数组中的 json 对象?