javascript - 在 JavaScript 中将 JSON 对象转换为基于索引的 JSON 数组
问题描述
我有一个以下格式的 JSON 对象,我想将其转换为 JSON 数组。我尝试了多种方法来实现这一目标,但我无法获得成功。
{
"name":{
"0":"mike",
"1":"george",
"2":"Andrew"
},
"category":{
"0":"A",
"1":"B",
"2":"C"
}
}
输出将是这样的:
{
"0":{
"name":"mike",
"category":"A"
},
"1":{
"name":"george",
"category":"B"
},
"2":{
"name":"andrew",
"category":"C"
}
}
我是 JSON 新手。我怎样才能做到这一点?
解决方案
您可以使用Object.keys
和Object.entries
const obj = {
name: {
"0": "mike",
"1": "george",
"2": "Andrew",
},
category: {
"0": "A",
"1": "B",
"2": "C",
},
};
const props = Object.keys(obj);
const result = props.reduce((acc, key) => {
Object.entries(obj[key]).forEach(([k, v]) => {
if (!acc[k]) acc[k] = Object.fromEntries(props.map((p) => [p, ""]));
acc[k][key] = v;
});
return acc;
}, {});
console.log(result);
/* This is not a part of answer. It is just to give the output full height. So IGNORE IT */
.as-console-wrapper { max-height: 100% !important; top: 0; }
推荐阅读
- kubernetes - 更改 Kubernetes 服务名称而不删除它
- android - 如何将数组附加到firestore中的数组字段中?
- r - R中的核密度估计器
- python - 错误:命令出错,退出状态为 1:(帮助!!!)
- python - 在 Python 中解析嵌套和复杂的 XML
- zigbee - 如何在家庭助理中将 philips hue 网格与 mqtt 网格合并?
- html - 为什么 Fontawesone-Icon 没有出现?
- php - 完整性约束违规:1452 无法添加或更新子行 laravel 6
- javascript - 在页面加载时从迭代对象调用 JS 函数
- java - 尝试在 HTTP 请求中提交 JSON 正文会产生 java.io.FileNotFoundException