格式化对象数组



我正在尝试将JSON响应格式化为新格式。

实现预期结果的最佳方法是什么。

JSON响应

{
body: [{
id: 0,
data: [{
cellId: 0,
colId: 'A',
value: '*',
},
{
cellId: 1,
colId: 'B',
value: 'W',
},
{
cellId: 2,
colId: 'C',
value: 'ECE',
}
],
errors: [
{ colId: 'B', errorCode: 'msg_000' },
{ colId: 'D', errorCode: 'msg_001' }
]
}]
}

转换后的预期格式为

const convertedData = {
id: 0,
A: '*',
B: 'W',
C: 'ECE'
errors: [
{ colId: 'B', errorCode: 'msg_000' }, 
{ colId: 'D', errorCode: 'msg_001' }
]
}

试试这个!!

let obj = {
body: [
{
id: 0,
data: [
{
cellId: 0,
colId: 'A',
value: '*',
},
{
cellId: 1,
colId: 'B',
value: 'W',
},
{
cellId: 2,
colId: 'C',
value: 'ECE',
}
],
errors: [
{colId: 'B', errorCode: 'msg_000'},
{colId: 'D', errorCode: 'msg_001'}
]
}
]
};
let resultArr = [];
obj.body.forEach(data=>{
let newObj = {};
newObj['id'] = data.id;
data.data.map(value=>{newObj[value.colId] = value.value});
newObj['errors'] = data.errors;
resultArr.push(newObj)
});
console.log(resultArr)

最新更新