Javascript Json格式

Javascript Json格式,javascript,Javascript,我有一个类似下面的json [ { "name": "Item", "attribute_list": [ { "name": "Attribute 1", "value_list": [ { "value": "1"

我有一个类似下面的json

[
  {
    "name": "Item",
    "attribute_list": [
      {
        "name": "Attribute 1",
        "value_list": [
          {
            "value": "1"
          },
          {
            "value": "2"
          }
        ]
      },
      {
        "name": "Attribute 2",
        "value_list": [
          {
            "value": "10"
          },
          {
            "value": "60"
          },
          {
            "value": "80"
          }
        ]
      }
    ]
  }
]
[
  {
    "Item": [{
        "Attribute 1": "1", "Attribute 2": "10"
      }]
  }
]
我想改变格式如下

[
  {
    "name": "Item",
    "attribute_list": [
      {
        "name": "Attribute 1",
        "value_list": [
          {
            "value": "1"
          },
          {
            "value": "2"
          }
        ]
      },
      {
        "name": "Attribute 2",
        "value_list": [
          {
            "value": "10"
          },
          {
            "value": "60"
          },
          {
            "value": "80"
          }
        ]
      }
    ]
  }
]
[
  {
    "Item": [{
        "Attribute 1": "1", "Attribute 2": "10"
      }]
  }
]
我已经做了:

results.map(items => {
     data[items.name.toLowerCase().replace(/ /g, '_')] = items.attribute_list?
         items.attribute_list.reduce(
        (obj, item) => Object.assign(obj, { [item.name.toLowerCase().replace(/ /g, '_')]: item.value_list?item.value_list[0].value:null }), {})
        :null
})

提前感谢

如果我理解正确,您可以这样做:

const输入=[
{
“名称”:“项目”,
“属性列表”:[
{
“名称”:“属性1”,
“价值清单”:[
{
“值”:“1”
},
{
“值”:“2”
}
]
},
{
“名称”:“属性2”,
“价值清单”:[
{
“值”:“10”
},
{
“值”:“60”
},
{
“值”:“80”
}
]
}
]
}
];
const result=input.map((条目)=>{
返回{
[entry.name]:[entry.attribute_list.reduce((res,curr)=>{
res[curr.name]=当前值\列表[0]。值;
返回res;
}, {})]
};
});

控制台日志(结果)如果我理解正确,您可以这样做:

const输入=[
{
“名称”:“项目”,
“属性列表”:[
{
“名称”:“属性1”,
“价值清单”:[
{
“值”:“1”
},
{
“值”:“2”
}
]
},
{
“名称”:“属性2”,
“价值清单”:[
{
“值”:“10”
},
{
“值”:“60”
},
{
“值”:“80”
}
]
}
]
}
];
const result=input.map((条目)=>{
返回{
[entry.name]:[entry.attribute_list.reduce((res,curr)=>{
res[curr.name]=当前值\列表[0]。值;
返回res;
}, {})]
};
});
控制台日志(结果)