首页 > 解决方案 > 重新排列 json 文件

问题描述

我想重新排列以下我遇到问题的 JSON。我想为自己将 JSON 对象的格式转换为另一种格式。任何帮助表示赞赏。我谢谢你。

从 :

[
    {"a":1,"b":2,"c":3,"d":4,"name":"chris"},
    {"a":11,"b":21,"c":31,"d":41,"name":"chris1"},
    {"a":12,"b":22,"c":32,"d":42,"name":"chris2"}

]

至:

[
    {
        "name": a,
        "chris":1,
        "chris1":11,
        chris2:12
    },
        {
        "name": b,
        "chris":2,
        "chris1":21,
        chris2:22
    },
        {
        "name": c,
        "chris":3,
        "chris1":31,
        chris2:32
    },    
    {
        "name": d,
        "chris":4,
        "chris1":41,
        chris2:42
    }
]

标签: javascriptarraysobject

解决方案


这是您可以使用的片段

let json = [
    {"a":1,"b":"2","c":3,"d":4,"name":"chris"},
    {"a":11,"b":"21","c":31,"d":41,"name":"chris1"},
    {"a":12,"b":"22","c":32,"d":42,"name":"chris2"}

]
let map = {};
for (const obj of json) {
    for( const [key, value] of Object.entries(obj)) {
        if (key === "name") continue;
        if (typeof map[key] !== "object") {
            map[key] = {name: key};
        }
        const data = map[key];
        data[obj.name]= value;
    }
}

console.log(map)


推荐阅读