JSON.parse に渡せるJSON文字列が厳密すぎて使いにくい件
JSON文字列をオブジェクトに変換してくれる JSON.parse() を使ってみたが、
かなり使いにくく感じた。
というのも、
JSON.parse("{hoge: 1}"); // error
これがSyntaxErrorになる*1
JSON.stringify() が厳密なJSON文字列をくれるらしいので、
どう書けばよかったのか、回答を頂く。
JSON.stringify({hoge: 1}); // {"hoge":1}
試す。
JSON.parse('{"hoge":1}'); // ok
でも、文字列をシングルクオートにすると、
JSON.parse("{'hoge':1}"); // error
SyntaxErrorになる。
値が文字列の場合も同様。
JSON.parse('{"hoge":"foo"}'); // ok JSON.parse('{"hoge":' + "'foo'" + '}'); // error ({"hoge":'foo'} こんな文字列)
うーん。。。
これだとeval使いたくなりますな。。
*1:試した環境は Firefox3.6.3、Chrome5.0.375.70