![](/img/trans.png)
[英]How to access and use multiple data from json object? Do I need to make an array?
[英]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.