[英]Json object with attributes + array, how to move the attributes inside the array?
Is there a way to achieve this json transformation using javascript ?有没有办法使用 javascript 实现这个 json 转换?
input输入
{
"server":"S1",
"timestamp":"123456",
"data":[
{"device":"D1", "price":"50"},
{"device":"D2", "price":"60"},
{"device":"D3", "price":"70"}
]
}
output输出
{
"data":[
{"server":"S1", "timestamp":"123456", "device":"D1", "price":"50"},
{"server":"S1", "timestamp":"123456", "device":"D2", "price":"60"},
{"server":"S1", "timestamp":"123456", "device":"D3", "price":"70"}
]
}
Let us say your input object is假设您的输入对象是
var input = {
"server":"S1",
"timestamp":"123456",
"data":[
{"device":"D1", "price":"50"},
{"device":"D2", "price":"60"},
{"device":"D3", "price":"70"}
]
}
You can convert to expected output as,您可以转换为预期的输出,
let output = {
data:[]
}
input.data.forEach(transformfunction);
function transformfunction(value,index,array){
output.data.push(
{
"server":input.server,
"timestamp":input.timestamp,
"device":array[index].device,
"price":array[index].price
}
);
}
console.log(JSON.stringify(output));
I hope it helps.我希望它有帮助。
try this:尝试这个:
const data = { "server":"S1", "timestamp":"123456", "data":[ {"device":"D1", "price":"50"}, {"device":"D2", "price":"60"}, {"device":"D3", "price":"70"} ] } result = {data: data.data.map(res=>({...res, ...{'timestamp': data.timestamp, 'server': data.server} }))} console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.