我有这个 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/