Javascript JSON数据连接两个数据

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"

在Javascript中,如何转换此JSON数据

我需要将firstname和lastname连接到它的全名中

数据

[
  {
    "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。让我们来看看。