[英]Using JSON File as an Array in Node.JS
我在 NodeJS 中將 .json 文件轉換為數組對象時遇到問題,
這是我的JSON :
{
"cat": {
"nani": "meow"
},
"dog": {
"nani": "woof"
}
}
索引.js:
const array = require('../../data/usershops.json');
var shop = array[0].nani
return shop;
console is
的輸出console is
:
UnhandledPromiseRejectionWarning: TypeError: 無法讀取未定義的屬性“nani”
如果我使用它,它實際上返回一個值:
array["cat"].nani // => "meow"
我怎樣才能得到索引key
?
require()
為您進行 JSON 解析並返回一個對象。
您可以使用Object.values()
獲取僅包含此對象的值的數組(並忽略鍵):
const data = require('../../data/usershops.json');
const arr = Object.values(data)
console.log(arr);
// [ { nani: 'meow' }, { nani: 'woof' } ]
但請注意,對象中鍵/值的順序是不確定的,這意味着Object.values()
返回的數組中值的順序可能並不總是您期望的順序。
除非您遍歷數組並使用不依賴於順序的 on 操作中的所有值,否則我建議您不要以這種方式使用對象。
let data = { "cat": { "nani": "meow" }, "dog": { "nani": "woof" } }; let array = Object.entries(data).map(([key,value])=>value); console.log(array[0].nani);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.