JSON バリデーター

RFC 8259 の文法に照らして JSON を検証し、エラーの正確な行・列・理由、重複キーの警告、構造の統計を表示します。

すべてブラウザ内で実行されます。データがアップロードされることはありません。

関連ツール

すべて表示

JSON バリデーターとは?

JSON バリデーターは、テキストが RFC 8259 に従った有効な JSON かどうかを確認します。無効な入力では、最初のエラーの行と列、分かりやすい言葉での理由、該当するソース行をキャレット付きで表示します。有効な入力では、構造を要約し、重複キーを警告します。

JSON バリデーターの使い方

  1. 入力欄に JSON を貼り付けます。
  2. 検証 をクリックします(結果は入力中にも更新されます)。
  3. エラーがある場合は、行・列とハイライトされたソース行を読み、修正して再度検証します。
  4. 有効な JSON では、概要(ルートの型、オブジェクト・配列・値の数、深さ)と、重複キーの警告を確認します。

例

入力
{
  "a": 1
  "b": 2
}
出力
Line 3, column 3 – Expected "," or "}" after the property value

ソース行がメッセージの下に表示され、「b」の下にキャレットが付きます。

JSON バリデーターを使うべき場面

設定ファイルをコミットする前、API がペイロードを拒否したとき、JSON.parse が「Unexpected token」としか言わないときに使います。チェックするのは構文だけです。データに正しい項目と型があるかを確認するには、JSON スキーマバリデーターを使ってください。JSON5/JSONC のファイルは無効と報告されます。

JSON バリデーターの仕組み

厳密な再帰下降パーサーがテキストを 1 文字ずつ読み、現在位置を追跡します。シングルクォート、コメント、末尾のカンマ、先頭のゼロ、NaN、エスケープされていない制御文字、ルート値の後の内容など、JSON の文法が禁じるものはすべて拒否し、問題が検出された位置を報告します。解析に成功すると、ツリーをたどってオブジェクト、配列、スカラー値を数え、ネストの深さを測ります。同じオブジェクト内で 2 回現れるキーは、ほとんどのパーサーが最後の値だけを黙って残すため、位置付きで報告されます。

一般的な使用例

  • JSON ボディで API が 400 Bad Request を返す理由を調べる
  • 手で編集した package.json や tsconfig 風のファイル(コメントなし)を確認する
  • 値を黙って上書きしてしまう重複キーを検出する
  • JSON の文法規則を正確に教える

セキュリティ注意事項

すべてブラウザ内でローカルに処理され、貼り付けたコードがアップロードされることはありません。

よくある質問

コメントは使えますか?

いいえ。JSON にコメントの構文はなく、// と /* */ はエラーとして報告されます。

重複キーが警告にとどまるのはなぜですか?

RFC は名前が一意であるべき(SHOULD)としていますが、重複を無効とはしていません。ほとんどのパーサーは最後の値を残すため、バグが隠れることがよくあります。

スキーマに対して検証しますか?

いいえ、構文だけをチェックします。構造のルールには JSON スキーマバリデーターを使ってください。

列は文字数とバイト数のどちらで数えますか?

文字数(UTF-16 のコード単位)で、1 から始まります。

他のカテゴリを見る