![](/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.