2012-07-12 51 views
1

我想創建這樣一個JSON對象:如何將數組追加到現有的json javascript?

{ 
    name: "Julia" 
    birthdate: "xxxx" 
    movies: [{title: "movie1", rating: 5}, {title: "movie2", rating 3}}] 
} 

我想要做的事,如:

var myobj = []; 
myobj.push({name: "Julia", birthdate: "xxxx"}); 

myobj.movies = []; 
myobj.movies.push({title: "movie1", rating: 5}); 
myobj.movies.push({title: "movie2", rating: 3}); 

但我無法創建「電影」的一部分。我該如何做到這一點?

+0

你可能試圖推動電影作爲一個對象?然後推入該對象? – coder4show 2012-07-12 15:48:20

回答

7

由於您將對象創建爲數組,因此出現此錯誤。你必須創建一個對象添加屬性:

var myobj = {name: "Julia", birthdate: "xxxx"}; 

myobj.movies = []; 
myobj.movies.push({title: "movie1", rating: 5}); 
myobj.movies.push({title: "movie2", rating: 3}); 
1

你不能混用數據類型(按僅適用於數組和使用對象的屬性),嘗試這樣的事情:

var myobj = {}; 
myobj.persons = []; 
myobj.persons.push({name: "Julia", birthdate: "xxxx"}); 

myobj.movies = []; 
myobj.movies.push({title: "movie1", rating: 5}); 
myobj.movies.push({title: "movie2", rating: 3}); 
0

你們這工作

var myobj = []; myobj.push({name:「Julia」,birthdate:「xxxx」});

myobj.push({movies: []}); 

myobj.movies = []; 
myobj.movies.push({title: "movie1", rating: 5}); 
myobj.movies.push({title: "movie2", rating: 3}); 

console.log(myobj);</code> 
+0

也許不是...確定它對我來說工作得很好 – coder4show 2012-07-12 15:51:06