Javascript 如何在此特定结构中创建JSON数组
这是数组格式Javascript 如何在此特定结构中创建JSON数组,javascript,angular,Javascript,Angular,这是数组格式[{“name”:“Rose”,“number”:“+919224512555”},{“name”:“smith”,“number”:“+919755224”}]我从我的角度表单中得到,它有一个分别带有列名称和列编号的动态表 我想把上面提到的数组转换成下面提到的格式来存储在数据库中 "name": [ { "first_name": "Rose", "formatted_name": "Rose"
[{“name”:“Rose”,“number”:“+919224512555”},{“name”:“smith”,“number”:“+919755224”}]
我从我的角度表单中得到,它有一个分别带有列名称和列编号的动态表
我想把上面提到的数组转换成下面提到的格式来存储在数据库中
"name": [
{
"first_name": "Rose",
"formatted_name": "Rose",
},
{
"first_name": "smith",
"formatted_name": "Smith",
},
] ,
"phones": [
{
"phone": "+919224512555",
"type": "HOME"
},
{
"phone": "+91975555224",
"type": "HOME",
}
],
我使用angular进行前端开发,使用laravel进行后端开发,下面的代码应该可以帮助您重新构造JSON对象
const req_body = [
{ name:"Rose", number:"+919224512555" },
{ name:"smith", number:"+91975555224"}
]
const restrutured_body = {
name: [],
phone: []
};
req_body.forEach((item) => {
restrutured_body.name.push({
first_name: item.name,
formatted_name: item.name
});
restrutured_body.phone.push({
phone: item.number,
type: 'HOME'
});
});
console.log(restrutured_body);
我想这可能是更好的方法
const data = [
{ name: "Rose", number: "+919224512555" },
{ name: "smith", number: "+91975555224" },
]
const mapped = {
"name": data.map((item) => ({
first_name: item.name,
formatted_name: item.name, // do your own formatting here
})),
"phone": data.map((item) => ({
phone: item.number,
type: item.number, // do your own processing here
}))
}
console.log(mapped)
希望它对您有益您可以使用
Array\reducer
const arr=[{“name”:“Rose”,“number”:“+919224512555”},{“name”:“smith”,“number”:“+919755224”}];
const res=arr.reduce((a,{name,number})=>{
a、 name=a.name | |[];
a、 name.push({first_name:name,格式化的_name:name});
a、 电话;
a、 phone.push({phone:number,type:'HOME'});
返回a;
},{})
log(res)
示例-您必须循环原始数组并逐个处理每个条目。或者,如果你更先进一点,你可以使用减速机。