メインコンテンツへスキップ

← ブログ一覧へ

よくある JSON エラーと修正方法

「Unexpected token in JSON」エラーのほとんどは、同じ短いミスのリストから生まれます。順に修正法を挙げます。(形式が初めてなら JSON とは から。)

1. 末尾のカンマ

JSON は最後の項目の後のカンマを許しません

{ "a": 1, "b": 2, }   ← 無効
{ "a": 1, "b": 2 }    ← 有効

2. シングルクォート

文字列とキーはダブルクォートが必須です。

{ 'name': 'Ann' }   ← 無効
{ "name": "Ann" }   ← 有効

3. クォートなしのキー

JavaScript のオブジェクトと違い、JSON のキーは必ずクォートします。

{ name: "Ann" }     ← 無効
{ "name": "Ann" }   ← 有効

4. コメント

JSON にコメントはありません。解析前に ///* */ を削除してください。

5. 括弧の誤り・不足

すべての {}、すべての [] が必要です。よくあるのは括弧の取り違えや、複数レコードを配列 [ … ] で包み忘れることです。

6. 数値でない値

NaNInfinityundefined は有効な JSON ではありません。数値・文字列・null を使ってください。

最速の修正:検証する

目で探すより、エラー位置を示す検証ツールに貼り付けましょう。

上の 6 つを直せば、「無効な JSON」問題の大半は消えます——すべてブラウザ内で動作するので、機微なデータも外に出ません。