Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 循环嵌套json数组以创建新数组_Javascript_Arrays_Json_Javascript Objects - Fatal编程技术网

Javascript 循环嵌套json数组以创建新数组

Javascript 循环嵌套json数组以创建新数组,javascript,arrays,json,javascript-objects,Javascript,Arrays,Json,Javascript Objects,我正在开发一个lambda函数,从一个API获取s数据,然后将其发布到另一个API。数据是具有属性的联系人列表,例如名字、姓氏、电子邮件等 JSON输出包含太多我不需要的属性。请参见下面的代码示例(实际代码包含更多属性和嵌套数组/对象) 如何循环遍历每个JSON对象以创建一个新的、更简单的JSON数组,如下所示: [ { "email": "example@example.com", "first_name": "", "last_name": "User" },

我正在开发一个lambda函数,
从一个API获取
s数据,然后
将其发布到另一个API。数据是具有属性的联系人列表,例如名字、姓氏、电子邮件等

JSON输出包含太多我不需要的属性。请参见下面的代码示例(实际代码包含更多属性和嵌套数组/对象)

如何循环遍历每个JSON对象以创建一个新的、更简单的JSON数组,如下所示:

[
  {
    "email": "example@example.com",
    "first_name": "",
    "last_name": "User"
  },
  {
    "email": "example2@example.com",
    "first_name": "Example",
    "last_name": "User"
  }
]
提前感谢您的帮助。

您可以使用用于对象和映射的

var data=[{contacts:[{addedAt:1532803458796,vid:101}],“合并审计”:[],属性:{“名字”:{value:“你好”},姓氏:{value:“那里”},电子邮件:{value::hello@there.com" } } }],
结果=data.map({属性:{
'first name':{value:first_name},
'last name':{value:last_name},
电子邮件:{value:email}
}})=>({名字、姓氏、电子邮件});
控制台日志(结果)试试看

let json=[
{
“联系人”:[{
“增补”:1532803458796,
“视频”:101
}],
“合并审计”:[],
“财产”:{
“名字”:{
“值”:“你好”
},
“姓氏”:{
“价值”:“那里”,
},
“电子邮件”:{
“值”:hello@there.com"
}
}
},
{
“联系人”:[{
“增补”:1532803458796,
“视频”:101
}],
“合并审计”:[],
“财产”:{
“名字”:{
“价值”:“汤姆”
},
“姓氏”:{
“价值”:“史密斯”,
},
“电子邮件”:{
“值”:tom@smith.com"
}
}
}
]
让r=json.map(x=>({
电子邮件:x.properties.email.value,
first_name:x.properties['first-name'].值,
姓氏:x.properties['last-name'].值,
}));

控制台日志(r)JSON是文本。当你说“原始JSON”时,你似乎真的在强调它是JSON。。。但是是吗?还是我们从一个JavaScript对象开始?您的json是否有多个称为属性的键?经过测试,工作完美且非常高效,谢谢!您的解决方案也会产生相同的结果。谢谢你提供更多的信息。这也适用于数据变量中的多个对象吗?确实如此,因为数据是一个数组,每个相同的组织对象都会被转换。
[
  {
    "email": "example@example.com",
    "first_name": "",
    "last_name": "User"
  },
  {
    "email": "example2@example.com",
    "first_name": "Example",
    "last_name": "User"
  }
]
json.map( x => ({
  email:      x.properties.email.value,
  first_name: x.properties['first-name'].value,
  last_name:  x.properties['last-name'].value,
}));