Javascript 将JSON对象属性转换为JSON对象名称

Javascript 将JSON对象属性转换为JSON对象名称,javascript,json,typescript,object,notation,Javascript,Json,Typescript,Object,Notation,我有一个JSON文件,其中包含许多类似的对象,例如:Pikemen unit的属性>Heroes 3 btw使用它如下: let obj = [{ "ID": 0, "AI": 80, "": null, "Level": 0, "Growth": 14, "Low": 20, "High": 50, "Town": 0, "Name": "Pikema

我有一个JSON文件,其中包含许多类似的对象,例如:Pikemen unit的属性>Heroes 3 btw使用它如下:

let obj = [{
        "ID": 0,
        "AI": 80,
        "": null,
        "Level": 0,
        "Growth": 14,
        "Low": 20,
        "High": 50,
        "Town": 0,
        "Name": "Pikeman",
    },{
        "ID": 0,
        "AI": 82220,
        "": null,
        "Level": 230,
        "Growth": 14,
        "Low": 20213,
        "High": 12312050,
        "Town": 10,
        "Name": "Pikeman2",
    }]

obj.forEach((item, index) => {
  obj[item.Name] = item;
  delete obj[index];
})

console.log(obj)

Hi@Adrian您可以遍历数组,获取名称并将int指定为键检查:

let obj = [ {
        "ID": 0,
        "AI": 80,
        "": null,
        "Level": 0,
        "Growth": 14,
        "Low": 20,
        "High": 50,
        "Town": 0,
        "Name": "Pikeman",
    }, 
    {
        "ID": 0,
        "AI": 80,
        "": null,
        "Level": 0,
        "Growth": 14,
        "Low": 20,
        "High": 50,
        "Town": 0,
        "Name": "Pikeman1",
    }, 
    {
        "ID": 0,
        "AI": 80,
        "": null,
        "Level": 0,
        "Growth": 14,
        "Low": 20,
        "High": 50,
        "Town": 0,
        "Name": "Pikema2",
    }]

    let objConverted = {};

    obj.forEach( o => {
      objConverted[o.Name] = o; 
    } ) 

    console.log(objConverted);

如果您想玩代码,请选中此项:

我有很多类似的对象。我需要某种循环来完成这项工作,因为文件太长了!非常感谢您提供有用的工具
let obj = [{
        "ID": 0,
        "AI": 80,
        "": null,
        "Level": 0,
        "Growth": 14,
        "Low": 20,
        "High": 50,
        "Town": 0,
        "Name": "Pikeman",
    },{
        "ID": 0,
        "AI": 82220,
        "": null,
        "Level": 230,
        "Growth": 14,
        "Low": 20213,
        "High": 12312050,
        "Town": 10,
        "Name": "Pikeman2",
    }]

obj.forEach((item, index) => {
  obj[item.Name] = item;
  delete obj[index];
})

console.log(obj)
let obj = [ {
        "ID": 0,
        "AI": 80,
        "": null,
        "Level": 0,
        "Growth": 14,
        "Low": 20,
        "High": 50,
        "Town": 0,
        "Name": "Pikeman",
    }, 
    {
        "ID": 0,
        "AI": 80,
        "": null,
        "Level": 0,
        "Growth": 14,
        "Low": 20,
        "High": 50,
        "Town": 0,
        "Name": "Pikeman1",
    }, 
    {
        "ID": 0,
        "AI": 80,
        "": null,
        "Level": 0,
        "Growth": 14,
        "Low": 20,
        "High": 50,
        "Town": 0,
        "Name": "Pikema2",
    }]

    let objConverted = {};

    obj.forEach( o => {
      objConverted[o.Name] = o; 
    } ) 

    console.log(objConverted);