Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.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_Json_Node.js_Dictionary_Protractor - Fatal编程技术网

JavaScript如何将嵌套的json对象数据设置为单个嵌套映射

JavaScript如何将嵌套的json对象数据设置为单个嵌套映射,javascript,json,node.js,dictionary,protractor,Javascript,Json,Node.js,Dictionary,Protractor,我想将嵌套的JSON数据设置成嵌套的映射并迭代它。考虑下面的示例JSON,我想将FixNew、LaSTNED、地址对象、地址1对象值设置成单个嵌套的映射。还可以如何迭代它来从地址对象城市字段值获得值。 请提供更好的解决方案。 示例json: [{ "firstName": "Jihad", "lastName": "Saladin", "address": { "street": "12 Beaver Court", "city": "Snowm

我想将嵌套的JSON数据设置成嵌套的映射并迭代它。考虑下面的示例JSON,我想将FixNew、LaSTNED、地址对象、地址1对象值设置成单个嵌套的映射。还可以如何迭代它来从地址对象城市字段值获得值。 请提供更好的解决方案。 示例json:

 [{
    "firstName": "Jihad",
    "lastName": "Saladin",
    "address": {
      "street": "12 Beaver Court",
      "city": "Snowmass",
      "state": "CO",
      "zip": "81615"
    },
    "address1": {
      "street": "16 Vail Rd",
      "city": "Vail",
      "state": "CO",
      "zip": "81657"
    }
  }]

如果要合并所有地址,可以执行以下操作

const people = [{
  "firstName": "Jihad",
  "lastName": "Saladin",
  "address": {
    "street": "12 Beaver Court",
    "city": "Snowmass",
    "state": "CO",
    "zip": "81615"
  },
  "address1": {
    "street": "16 Vail Rd",
    "city": "Vail",
    "state": "CO",
    "zip": "81657"
  }
}]
const newPeople = people.map(person => {
  const addresses = [person.address]
  for (let i = 1; person['address' + i]; i++) {
    addresses.push(person['address' + i])
  }
  return {
    firstName: person.firstName,
    lastName: person.lastName,
    addresses
  }
})
console.log(JSON.stringify(newPeople))
/*
[{
  "firstName": "Jihad",
  "lastName": "Saladin",
  "addresses": [
    {
      "street": "12 Beaver Court",
      "city": "Snowmass",
      "state": "CO",
      "zip": "81615"
    },
    {
      "street": "16 Vail Rd",
      "city": "Vail",
      "state": "CO",
      "zip": "81657"
    }
  ]
}]
*/

请不要删除问题的格式。您可以选择代码,单击Ctrl+k,编辑器将为您自动格式化tt(供下次参考)。如果您询问“更好的解决方案”,则您需要在某个地方有一个可比较的解决方案。通常你至少应该自己尝试一些东西。