JSONは終わりカンマじゃ駄目なのか。。。

| コメント(3)

PHPの配列とかだと問題ないんだけど、JSONは駄目?

var hoge = [
  {
    "hoge": "bar",
    "hage": "barbar",
  },
];

Firefoxで動いてたものがSafariでは動かなくて、『また迫害か。。。』なんて投げやりになってたんだけど、コンソール出してエラーを見てみれば構文エラーっぽい。それで該当箇所を見てみれば、どうもこの問題っぽくて、修正したら動いた。

JSONのドキュメントにある図の見方がよく分からないんだけど、これは仕様上NGなのかSafari的NGなのかどっちなんだろう。

コメント(3)

仕様上、Array は OK で、Object は NG です。

ちょっと補足。JSON (RFC4627) だと、Array でも Object でも最後のカンマは駄目です。

JavaScript (ECMA-262) だと Array の最後のカンマは OK ですが、要素の数が増えます。(最後だけでなく、先頭とか途中のカンマ連続とかも OK)
Object の最後のカンマは駄目です。

なるほど。

JSで書くときは『終わりカンマだめ』と肝に銘じます。

プロフィール

このブログ記事について

このページは、koshigoeが2006年10月22日 22:23に書いたブログ記事です。

ひとつ前のブログ記事は「MagpieRSSでは同名の複数要素を上手く扱えない?」です。

次のブログ記事は「xvzf派です」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。