我有这个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
我做错了什么?
答案 0 :(得分:3)
其中row
是保存属性名称而不是对象的变量,因此您需要使用属性名称检索它(请参阅:for...in
loop documentation)。在你的情况下,它将是数组的索引。 3}}这里没有必要使用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);
})