JSON バリデーター
RFC 8259 の文法に照らして JSON を検証し、エラーの正確な行・列・理由、重複キーの警告、構造の統計を表示します。
すべてブラウザ内で実行されます。データがアップロードされることはありません。
関連ツール
すべて表示JSON バリデーターとは?
JSON バリデーターは、テキストが RFC 8259 に従った有効な JSON かどうかを確認します。無効な入力では、最初のエラーの行と列、分かりやすい言葉での理由、該当するソース行をキャレット付きで表示します。有効な入力では、構造を要約し、重複キーを警告します。
JSON バリデーターの使い方
- 入力欄に JSON を貼り付けます。
- 検証 をクリックします(結果は入力中にも更新されます)。
- エラーがある場合は、行・列とハイライトされたソース行を読み、修正して再度検証します。
- 有効な 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 から始まります。