Javascript JSON数据连接两个数据
在Javascript中,如何转换此JSON数据 我需要将firstname和lastname连接到它的全名中 数据Javascript JSON数据连接两个数据,javascript,json,Javascript,Json,在Javascript中,如何转换此JSON数据 我需要将firstname和lastname连接到它的全名中 数据 [ { "lastname": "Stark", "firstname": "Tony", "id": 1 }, { "lastname": "Parker", "firstname": "Peter", "id": 2 }, { "lastname": "Rogers", "firstname"
[
{
"lastname": "Stark",
"firstname": "Tony",
"id": 1
},
{
"lastname": "Parker",
"firstname": "Peter",
"id": 2
},
{
"lastname": "Rogers",
"firstname": "Steve",
"id": 3
},
]
结果应该是:
结果
[
{
"fullname": "Tony Stark",
"id": 1
},
{
"fullname": "Peter Parker",
"id": 1
},
{
"fullname": "Steve Rogers",
"id": 1
},
]
使用
JSON.parse
将数据解析为JavaScript对象,然后使用函数迭代项目并填充自定义对象
const dataAsJson=`[
{
“姓氏”:“斯塔克”,
“名字”:“托尼”,
“id”:1
},
{
“姓氏”:“帕克”,
“名字”:“彼得”,
“id”:2
},
{
“姓氏”:“罗杰斯”,
“名字”:“史蒂夫”,
“id”:3
}
]`;
const data=JSON.parse(dataAsJson);
const changedData=data.map(item=>({fullname:`${item.firstname}${item.lastname}`,id:item.id}));
console.log(changedData)代码>如果此数据作为JSON字符串可用于脚本,则可以使用JSON.parse()
获取对象数组
然后对该对象数组执行任何操作
最后,使用JSON.stringify()
将结果数据转换回字符串。您也可以使用array#reduce
const data=`[{“lastname”:“Stark”,“firstname”:“Tony”,“id”:1},{“lastname”:“Parker”,“firstname”:“Peter”,“id”:2},{“lastname”:“Rogers”,“firstname”:“Steve”,“id”:3}`;
var result=JSON.parse(data).reduce((arr,obj)=>{
返回arr.push({fullName:obj.firstname+“”+obj.lastname,id:obj.id}),arr;
},[]);
控制台日志(结果)代码>首先,使用
JSON.parse()
。如果您正在使用es6,请使用以下命令:
constnewarray=JSON.parse(yourray.map)((用户)=>({
全名:`${user.firstname}${user.lastname}`,
id:user.id
}));
从逻辑上讲,您只需在数组中循环,并使用firstname
和lastname
创建一个新对象。因此,这里有一个非花哨的ES5方法可以做到这一点:
//解析为JS对象的JSON数据
var arr=JSON.parse('[{“lastname”:“Stark”,“firstname”:“Tony”,“id”:1},{“lastname”:“Parker”,“firstname”:“Peter”,“id”:2},{“lastname”:“Rogers”,“firstname”:“Steve”,“id”:3}]);
var newArr=[];
对于(var i=0;iWeird,它返回data.map不是函数哦,谢谢。所以我需要再次通过JSON.stringify()将changedData转换为JSON?您的答案有ES5语法吗?我需要支持IE11,并且我没有使用任何transpiler。让我们来看看。