1

次のようなjsonオブジェクトを作成したい:

{
   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});

しかし、その「映画」の部分を作成できません。どうすればこれを達成できますか?

4

3 に答える 3

7

オブジェクトを配列として作成しているため、このエラーが発生しています。プロパティを追加するには、オブジェクトとして作成する必要があります。

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

myobj.movies = []; 
myobj.movies.push({title: "movie1", rating: 5}); 
myobj.movies.push({title: "movie2", rating: 3}); 
于 2012-07-12T15:48:02.650 に答える
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});
于 2012-07-12T15:48:46.930 に答える
1

これはうまくいきます

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>
于 2012-07-12T15:50:05.133 に答える