2017-04-13 32 views
0

對象是:如何構建對象在JavaScript中已經預期JSON

people[resident1:[ 
    "name" : "valueForName", 
    "address" : "valueForAddress", 
    "city" : "valueForCity" 
], 
resident2:[ 
    "name" : "valueForName", 
    "address" : "valueForAddress", 
    "city" : "valueForCity" 
]] 

人有一個以上的居民,我希望有一個JSON已經結構如下:

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

誰能幫助?我是新來的JavaScript。謝謝!

+0

居民是錯誤的,應該是{ }不[] ....爲什麼你不使用一個數組持有多個地址? – epascarello

+0

對不起,我不清楚,'居民'是和物體內的對象'人'。 ,我想創建一個如第二個代碼片段所示的JSON。 – Amruta

+0

@Amruta,請提供您的源對象的正確示例 – Dancrumb

回答

1

你可以做這樣的事情,

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" 
    } 
    ] 
} 
2

你應該有一個包含對象的數組:

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