2012-07-12 31 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