Javascriptでの複合データオブジェクトはこんな感じで書くことができる。

var data= { people :
{ name : "Taro Yamada",
address: "Tokyo Japan",
sikaku : [ ]
},
{ name : "Taro Yamada",
address: "Tokyo Japan",
sikaku : [ ]
}
};

ここでsikaku配列に後からオブジェクトを追加したいと思って以下のようにやると連想配列のキーが消えてしまった。

var tuika_sikaku = "{oraclemaster : \"gold\"}";
data['people']['people].each(function(s){
s.sikaku[0] = eval(tuika_sikaku);
}

これはtuika_sikakuをevalしてオブジェクト化してから配列に入れているのだが、tuika_sikakuの記述がまちがっているためにキーが消えてしまった。
正しくは
var tuika_sikaku = “({oraclemaster : \”gold\”})”;
( )が必要である。