簡體   English   中英

從javascript中的文件讀取json

[英]reading json from file in javascript

我有這個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循環文檔 )。 在您的情況下,它將是數組的索引。 這里不需要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); } 


由於該屬性保存一個數組,因此請使用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); }) 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM