alltools.one
JSON
2026-02-20
8 min
alltools.one Team
jsonvalidationdebuggingerror-handlingdevelopment

JSONのバリデーション方法:よくあるエラーと修正方法

APIが400エラーを返します。ログには「Invalid JSON」と表示されています。ペイロードを見てもすべて正しく見えます — 47行目に隠れたシングルクォートに気づくまでは。JSONバリデーションエラーが厄介なのは、すべてを壊す小さなミスであることが多いからです。

最もよくあるJSON構文エラー

1. 末尾のカンマ

JSONで最も多いミスです。JavaScriptは末尾のカンマを許容するため、開発者はその習慣をJSONに持ち込みますが、JSONでは無効です。

{
  "name": "Alex",
  "age": 30
}

最後の値の後のカンマは必ず削除してください。

2. ダブルクォートの代わりにシングルクォート

JSONではダブルクォートが必須です。{'name': 'Alex'} はJavaScriptでは有効ですが、JSONでは無効です。すべてのシングルクォートをダブルクォートに置き換えてください。

3. クォートなしのキー

JSONのすべてのキーはクォートで囲まれた文字列でなければなりません。{name: "Alex"}{"name": "Alex"} にすべきです。

4. 要素間のカンマの欠落

JSONを手動で編集する際に見落としやすい — キーと値のペア間のカンマを忘れること。

5. 括弧の不一致

{ を開いて ] で閉じたり、ネストが不正確な場合。対応する括弧をハイライトするJSONバリデーターを使用してください。

効果的なJSONバリデーション方法

手動クイックバリデーション

JSONを当サイトのJSONバリデーターに貼り付けてください。エラーの正確な行と文字位置がハイライトされます。すべての処理はブラウザ内で行われ、データはマシンの外に出ることはありません。

プログラムによるバリデーション

アプリケーションでは、すべての境界でJSONをバリデーションしてください。JavaScriptでは JSON.parse() をtry-catchで囲みます。Pythonでは json.loads() を例外処理付きで使用します。

スキーマバリデーション

構文バリデーションはJSONが整形式であることを確認します。スキーマバリデーションは正しい構造であることを確認します。当サイトのJSONスキーマバリデーターで期待される形状を定義してください。

JSONエラーのステップバイステップデバッグ

  1. まずフォーマットJSONフォーマッターに貼り付けて適切なインデントを取得
  2. エラー位置を確認 — ほとんどのパーサーは行と列を報告します
  3. よくある原因を確認 — 末尾のカンマ、シングルクォート、クォートなしのキー
  4. 段階的にバリデーション — 大きなJSONの場合、セクションごとに個別にバリデーション
  5. バージョンを比較 — 動作するバージョンとJSON Diffで比較

自動バリデーションの設定

エディターで

JSON構文ハイライト、リンター、設定ファイルのスキーマバリデーションを有効にしてください。

CIパイプラインで

ビルドプロセスにJSONバリデーションを追加して、マージ前にエラーを検出してください。

APIで

受信JSONを決して信頼しないでください。API境界で構文とスキーマの両方をバリデーションしてください。役立つエラーメッセージを返してください。

よくある質問

JSONバリデーションとJSONスキーマバリデーションの違いは何ですか?

JSONバリデーションは構文(適切なクォート、括弧、カンマ)を確認します。JSONスキーマバリデーションは構造(正しいフィールド、正しい型、正しい制約)を確認します。

なぜJavaScriptでは動作するのに、他のパーサーでは失敗するのですか?

JavaScriptはJSON仕様よりも寛容です。末尾のカンマ、シングルクォート、コメントを許容します。厳密なパーサーはこれらすべてを拒否します。

関連リソース

Published on 2026-02-20
How to Validate JSON: Common Errors and Fixes | alltools.one