一瞬頭がこんがらがった。記述の仕方は同じなのに、結果が出てこないし、JSONオブジェクトにも変換できない。どうしてなんだろうと思ったら、自分が記述していたのは連想配列のほうだった。
連想配列はこんなかんじ。
var a = [];
a["hoge"] = 1; //a.hoge = 1;
console.log(a);
//結果:[]Code language: JavaScript (javascript)
オブジェクトはこんなかんじ。
var a = {};
a["hoge"] = 1; //a.hoge = 1;
console.log(a);
//結果:Object > hoge: 1, __proto__: Object >Code language: JavaScript (javascript)
var a = [];は var a = Array();
var a = {}; は var a = Object();
記述は同じだけど、中身の扱いが全く違う別物なので、初歩的ミスながら気づくのにちょっと時間がかかってしまった。