Javascript Json格式
我有一个类似下面的jsonJavascript Json格式,javascript,Javascript,我有一个类似下面的json [ { "name": "Item", "attribute_list": [ { "name": "Attribute 1", "value_list": [ { "value": "1"
[
{
"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;
}, {})]
};
});
控制台日志(结果)代码>