簡體   English   中英

在 Node.JS 中使用 JSON 文件作為數組

[英]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.

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