Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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 - Fatal编程技术网

如何在javascript中构造具有预期JSON的对象

如何在javascript中构造具有预期JSON的对象,javascript,json,Javascript,Json,目标是: people[resident1:[ "name" : "valueForName", "address" : "valueForAddress", "city" : "valueForCity" ], resident2:[ "name" : "valueForName", "address" : "valueForAddress", "city" : "valueForCity" ]] People有多个居民,我希

目标是:

 people[resident1:[
     "name" : "valueForName",
     "address" : "valueForAddress",
     "city"  : "valueForCity"
],
resident2:[
     "name" : "valueForName",
     "address" : "valueForAddress",
     "city"  : "valueForCity"
]]
People有多个居民,我希望JSON具有以下结构:

"residents" :{
    "valueForName1":"valueForCity1",
    "valueForName2":"valueForCity2"
}

有人能帮忙吗?我是javascript新手。谢谢大家!

您应该有一个包含对象的数组:

{
  "residents": [{
    "name": "valueForName1",
    "address": "valueForAddress1",
    "city": "valueForCity1"
  }, {
    "name": "valueForName2",
    "address": "valueForAddress2",
    "city": "valueForCity2"
  }]
}

您应该有一个包含以下对象的数组:

{
  "residents": [{
    "name": "valueForName1",
    "address": "valueForAddress1",
    "city": "valueForCity1"
  }, {
    "name": "valueForName2",
    "address": "valueForAddress2",
    "city": "valueForCity2"
  }]
}

你可以这样做

var result = {};
var residents = [];
var resident1 = {};
var resident2 = {};

resident1.name = "Joe";
resident1.address = "street1";
resident1.city = "Boston";

resident2.name = "Smith";
resident2.address = "street2";
resident2.city = "New York";

residents.push(resident1);
residents.push(resident2);

result.residents = residents;

console.log(JSON.stringify(result));
它印在下面

{
  "residents": [
    {
      "name": "Joe",
      "address": "street1",
      "city": "Boston"
    },
    {
      "name": "Smith",
      "address": "street2",
      "city": "New York"
    }
  ]
}

你可以这样做

var result = {};
var residents = [];
var resident1 = {};
var resident2 = {};

resident1.name = "Joe";
resident1.address = "street1";
resident1.city = "Boston";

resident2.name = "Smith";
resident2.address = "street2";
resident2.city = "New York";

residents.push(resident1);
residents.push(resident2);

result.residents = residents;

console.log(JSON.stringify(result));
它印在下面

{
  "residents": [
    {
      "name": "Joe",
      "address": "street1",
      "city": "Boston"
    },
    {
      "name": "Smith",
      "address": "street2",
      "city": "New York"
    }
  ]
}

居民是错的,应该是{}而不是[…]。。。。为什么不使用包含多个地址的数组?抱歉,我不清楚“居民”和对象中的对象“人”。我想创建一个类似于第二段代码的JSON。@Amruta,请提供一个正确的源代码示例object@Dancrumb我已经更新了示例。我有一个people对象,其中有一个“resident”对象列表,“resident”对象有属性“name”和“city”。我需要以如下格式显示JSON:如代码段2所示。您的对象不是有效的JSON对象。如果错误,则应为{}而不是[…]。。。。为什么不使用包含多个地址的数组?抱歉,我不清楚“居民”和对象中的对象“人”。我想创建一个类似于第二段代码的JSON。@Amruta,请提供一个正确的源代码示例object@Dancrumb我已经更新了示例。我有一个people对象,其中有一个“resident”对象列表,“resident”对象有属性“name”和“city”。我需要以代码段2中所示的格式显示JSON。您的对象不是有效的JSON对象。