簡體   English   中英

我如何將 json 對象作為 json 數組

[英]How do i make json object as an json array

我有一個 json 作為我的 api 調用的一部分返回,如下所示。

{
  'D1': {
    'name': 'Emp1',
    'Age':22
  },
  'D2': {
    'name': 'Emp2',
    'Age':43
  },
};

我想把它轉換成一個數組。 即以下格式。

[
  'D1': {
    'name': 'Emp1',
    'Age':22
  },
  'D2': {
    'name': 'Emp2',
    'Age':43
  },
];

我正在嘗試使用下面的代碼來做到這一點。

 let obj = { 'D1': { 'name': 'Emp1', 'Age':22 }, 'D2': { 'name': 'Emp2', 'Age':43 }, }; let wholeArray = Object.keys(obj).map(key => obj[key]); console.log(wholeArray);

但它正在剝離外部 JSON 鍵。

請讓我知道我哪里出錯了以及如何獲得預期的輸出。

您可以將對象分成一個只有一個鍵/值對的數組。

 let object = { D1: { name: 'Emp1', Age:22 }, D2: { name: 'Emp2', Age:43 } }, array = Object .entries(object) .map(pair => Object.fromEntries([pair])); console.log(array);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

這個:

 [ 'D1': { 'name': 'Emp1', 'Age':22 }, 'D2': { 'name': 'Emp2', 'Age':43 }, ];

根本不存在。 數組沒有鍵,對象有。

你最多能做的是:

[
  {
    'D1': {
      'name': 'Emp1',
      'Age':22
    }
  },{
    'D2': {
      'name': 'Emp2',
      'Age':43
    }
  }
];

具有單個鍵的對象數組。

執行此操作的一種代碼變體:

 let obj = { 'D1': { 'name': 'Emp1', 'Age':22 }, 'D2': { 'name': 'Emp2', 'Age':43 }, }; //let wholeArray = Object.keys(obj).map(key => obj[key]); let wholeArray = Object.keys(obj).map(key => { let ret={}; ret[key]=obj[key]; return ret; }); console.log(wholeArray);

旁注:我在過去的 2-3 天內看到很多類似的問題,人們想要帶有鍵的“JSON 數組”,並且他們還小心地在數組末尾放置了一個“空”逗號。 你們是從某個課程來的嗎?

暫無
暫無

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

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