メインコンテンツへ移動

よくあるJSONエラー7選と直し方

2026年11月2日 · 読了目安 5分

JSONはJavaScriptに似ていますが、文法はずっと厳密です。「Unexpected token」というエラーの多くは、いくつかの決まった間違いが原因で、場所さえ分かればすぐに直せます。

間違いを一番早く見つけるには、テキストをJSONバリデーターに貼り付けます。単なる「Unexpected token」ではなく、最初の問題がある行と列を示してくれます。

1. 末尾のカンマ

オブジェクトや配列の最後の要素の後ろにあるカンマは、JavaScriptでは許されますがJSONでは許されません。削除してください。

{
  "name": "demo",
  "tags": ["a", "b"],
}

2. シングルクォート

JSONの文字列とプロパティ名はダブルクォートで囲む必要があります。{'a': 1} は失敗し、{"a": 1} は成功します。

3. クォートなしのプロパティ名

{a: 1} はJavaScriptのオブジェクトリテラルであり、JSONではありません。すべてのキーをダブルクォートで囲んでください。

4. コメント

JSONにコメントはありません。// や /* */ があるとパースに失敗します。削除するか、"_note" のような別のフィールドにメモを残してください。

5. 文字列内の生の改行とタブ

文字列の中にそのままの改行を入れることはできません。改行は \n、タブは \t と書きます。すでにエスケープされた文字列を貼り付けた場合は、JSONフォーマッターのアンエスケープ機能を試してください。

6. JSONにない値

  • undefined、NaN、Infinity は有効な値ではありません。null か文字列を使ってください。
  • 数値の先頭にゼロ(007)、先頭のプラス記号、末尾のドット(1.)は使えません。
  • true、false、null は小文字のみ有効で、True や None は失敗します。

7. 見えない文字と余分なデータ

ファイル先頭のバイトオーダーマークや、最初のJSON値の後ろに続く2つ目の値もエラーの原因になります。元のソースからもう一度コピーするか、入力の末尾に余分な文字がないか確認してください。

パースできたら

テキストが有効になったら、JSONフォーマッターで読みやすく整え、JSONミニファイアで転送用に小さくし、JSONからTypeScriptへでサンプルレスポンスから型を生成できます。すべてブラウザ内で実行されるので、貼り付けた内容がアップロードされることはありません。

← 記事一覧