JSON パースエラー:メッセージを読み、修正へ直行
JSON パーサーのエラーメッセージと、それぞれを解説する記事のディレクトリ —— まず厳格なバリデーターで確認し、次に具体的な構文の問題へ掘り下げます。
ここに来たら
コードが JSON パーサーエラーを投げ、正確な修正方法を知りたい状態です。まずパーサーのメッセージを読みましょう —— 位置と疑わしい文字が手がかりです。次に、根本的な間違いを解説する記事へ進み、厳格なバリデーターで修復後のテキストが JSON.parse を往復できることを確認します。
パーサーのメッセージを読む
現代の JSON パーサーはすべて、位置と問題のある文字を報告します。メッセージを以下のリストと照合し、その正確な表現を扱う記事を開いてください。
Unexpected token エラー —— 概要Unexpected token < —— fetch が HTML を返したUnexpected token u —— undefined をパースしたUnexpected token o —— [object Object] が文字列化されたUnexpected end of JSON input —— 途中で切れた/閉じていないJSON の後に非空白文字 —— 余分なデータ、NDJSON?JSON 内の文字列が未終端 —— 引用符を開いたまま閉じていないJSON 内の不正なエスケープ文字 —— \x、Windows パス文字列リテラル内の不正な制御文字 —— 生のタブ/改行[object Object] は有効な JSON ではない二重引用符のプロパティ名が必要 —— 末尾カンマ
根本的な間違いを修正する
ほとんどのパーサーエラーは、繰り返し起こる 5 つの構文問題のいずれかが原因です。それぞれのガイドが、原因、修正方法、そしてパーサーを再実行する前に確認すべき点を説明します。
JSON の末尾カンマを修正JSON の単一引用符を修正JSON の引用符なしキーを修正Unexpected Token エラーを修正(ガイド)Expected Property Name エラーを修正
なぜ厳格な JSON は厳格なのか
JSON は JavaScript のオブジェクトリテラルに似ていますが、はるかに小さい文法です。末尾カンマなし、コメントなし、単一引用符なし、Python 風の True/None なし。これらの歴史的な参考資料は、なぜ文法が最小限のままだったのか、そして相互運用性の決定がどのように行われたのかを説明します。
RFC 8259 —— 現行の JSON 標準ECMA-404 第 2 版Parsing JSON is a Minefield(パーサーの不一致)Bishop Fox —— JSON 相互運用性の調査Tree-sitter の JSON 文法 —— エディターが JSON.parse と異なる解析をする理由
推奨ルート
ツールからガイド、ブログ、リファレンスへと一続きに:JSON バリデーターを開いて正確な行と列を取得し、根本的な間違いのガイドを読み、そのエラーメッセージに対応するブログ記事をたどり、最後に文法を定義する標準を調べます。
-
- ツール:/json-validate —— パースエラーとその位置を確認。
-
- ガイド:/guides/fix-json-unexpected-token —— 症状を原因に対応づける。
-
- ブログ:/blog/json-parse-unexpected-token —— トークンレベルの間違いの詳細な分析。
-
- リファレンス:/news/rfc-8259-json-standard —— なぜ文法が厳格なのか。
JSON 修復ガイド
トピックハブ
個別ガイド
- Base64 文字列のデコード方法(および JWT ペイロード)
- URL エンコーディング:クエリパラメータとパスをパーセントエンコードする
- YAML を JSON に変換(インデントエラーを避ける)
- JSON を CSV に変換:オブジェクト配列をフラット化
- JSON を XML に変換:ルート要素・属性・配列
- JSON を文字列リテラルとしてエスケープ(二重エンコードされた JSON のデコード)
- JSON の末尾カンマを修正
- JSON のシングルクォートを修正
- JSON の引用符なしキーを修正
- LLM が出力した JSON を修復する
- JSON 解析エラー「Expected Property Name」を修正
- JSON と JavaScript オブジェクトリテラルの違い
- API リクエスト前に JSON を検証する
- JSON フォーマッタ vs JSON Repair
- JSON の Unexpected Token エラーを修正
- JSON から JavaScript オブジェクトへの変換ツール