JSON構文チェック(JSON Validator)
JSON文字列を貼り付けて「検証」を押すと、構文として正しいか(Valid/Invalid)をその場で確認できます。無効な場合はエラー位置・原因の目安も表示します。
入力例
結果
JSONを入力して「検証」を押してください。
このツールでできること
JSON構文チェックの主な機能です。
- JSON文字列がJSON仕様として正しいか(Valid/Invalid)を判定できます
- オブジェクト・配列に限らず、文字列・数値・真偽値・nullなどのトップレベル値も正しく判定します
- 無効な場合、可能な範囲でエラー位置(行・列)と原因の目安を表示します
- 位置・原因を特定できない場合は、無理に推測せず汎用的なエラー表示にとどめます
- 処理はブラウザ内で完結し、入力を外部へ送信しません
手順を見る
- JSON文字列を入力します
- 「検証」を押します
- Valid/Invalidと、無効な場合はエラー位置・原因の目安を確認します
こんなときに使えます
こんな場面でJSON構文チェックが役立ちます。
利用シーンを見る
- APIレスポンスをそのまま設定ファイルやテストデータへ使う前に、構文が正しいか確認したいとき
- AIやツールが生成したJSONが、そのまま使える形になっているか確認したいとき
- 設定ファイルの末尾カンマやクォートの誤りなど、細かな構文ミスの箇所を特定したいとき
- 整形や変換をしたいわけではなく、単純にValid/Invalidだけを素早く確認したいとき
JSON Validatorの仕組みと注意点
このツールの動作の仕組みを説明します。
詳しい解説を見る
判定は常に標準のJSON.parseのみで行います
Valid/Invalidの判定は、ブラウザ標準のJSON.parseの成否だけで決まります。独自の判定ロジックでこの結果を上書きすることはありません。エラー位置・原因の表示はあくまで補助情報(best effort)であり、判定そのものには影響しません。
エラー位置・原因はbest effortです
無効なJSONと判定された場合、可能な範囲で最初の構文エラーの位置(行・列)と原因を表示します。ただし、ブラウザごとに異なるエラーメッセージの文字列を直接表示しているわけではなく、本ツール独自の走査によって特定しています。位置・原因を特定できない場合は、無理に推測せず「無効なJSONです」という汎用表示のみになります。
対応する原因の種類は限られています
末尾のカンマ、シングルクォート、キーのダブルクォート不足、閉じ括弧・引用符の不足、不正なエスケープなど、代表的な構文エラーの原因のみを区別して表示します。これら以外の原因は「予期しない文字があります」という汎用的な表示になります。
入力上限・巨大な入力への対応(Web Worker不使用)
入力は最大500,000文字、JSON構造のネストは最大64階層までを上限としています。上限を超える入力はJSON.parseを呼ぶ前に検出し、無効として表示します。JSON.parse1回と1パスの走査のみで完結する処理のため、現時点ではWeb Workerを使わずブラウザのメインスレッドで直接処理しています。
整形・修復や他のJSON関連機能は対象外です
本ツールはJSONの構文検証に特化しており、整形・多重エスケープ復元はJSON整形・多重エスケープ復元で行えます。JSON Schemaによる構造検証・自動修復・重複キーの警告は行いません。入力されたJSONを外部サーバーへ送信することもありません。
よくある質問
JSON ValidatorはどのようにJSONが正しいか判定していますか?
ブラウザ標準の JSON.parse の成否のみで判定しています。独自の判定ロジックで結果を上書きすることはありません。
エラー位置は必ず表示されますか?
いいえ。可能な範囲(best effort)で行・列・原因を表示しますが、特定できない場合は「無効なJSONです」という汎用表示のみになります。矛盾した情報を表示しないための仕様です。
オブジェクトや配列以外(文字列・数値・真偽値・null)も検証できますか?
はい。JSON仕様上有効なトップレベル値であれば、オブジェクト・配列に限らず文字列・数値・真偽値・nullも正しく判定します。
JSON Schemaによる構造の検証はできますか?
いいえ。本ツールは構文(syntax)が正しいかどうかのみを検証します。JSON Schemaによる構造検証・自動修復・AIによる修正には対応していません。
整形やエスケープ復元はできますか?
いいえ。整形・多重エスケープ復元が必要な場合はJSON整形・多重エスケープ復元ツールをご利用ください。
入力したJSONはサーバーへ送信されますか?
いいえ。検証処理はすべてブラウザ内で完結しており、入力内容がサーバーへ送信されることはありません。