JSON Validator

JSONの構文をチェックし、エラー箇所を分かりやすく表示します。構造統計も確認可能。

入力データはブラウザ内で処理されます
データはサーバーへ送信されません

変換ツール

0 文字

またはファイルをドラッグ&ドロップ

JSON Validatorとは?

JSON Validatorは、入力したJSONが正しい構文であるかをチェックするツールです。 構文エラーがある場合はエラーメッセージとおおよその位置を表示し、有効なJSONの場合はキー数・ネストの深さ・配列数などの構造情報を確認できます。 APIレスポンスの確認や、手書きの設定ファイルのデバッグなどに役立ちます。

こんな時に便利

  • APIレスポンスや設定ファイルが本当に正しいJSONか確認したい:目視だけではカンマの付け忘れやクォート漏れに気づきにくいものです。貼り付けるだけで構文が正しいかすぐに判定できます。
  • どこにエラーがあるか自力で探すのが大変:長いJSONの中から1文字のミスを目で探すのは非効率です。エラー箇所の前後を抜き出して^マーカーで示してくれるので、修正箇所にすぐたどり着けます。
  • JSONの構造をざっと把握したい:キー数・ネストの深さ・配列の数・null値の数といった統計情報から、データの複雑さやおおよその形を素早く把握できます。
  • JSON Formatterとどちらを使えばいいか迷っている:整形や圧縮が目的ならJSON Formatter、構文が正しいかどうかのチェックや構造の統計情報が目的ならJSON Validatorが適しています。

使用例

例1:有効なJSONを検証する

入力:

{
  "name": "Taro",
  "age": 28,
  "tags": ["admin", "editor"],
  "address": {
    "city": "Tokyo",
    "zip": null
  }
}

検証結果:

ステータス: 有効なJSONです
ルート要素の型: オブジェクト

キー数: 6
最大ネスト深さ: 2
配列の数: 1
null値の数: 1

tags配列(1個)、addressオブジェクトの中のzip: null(null値1個)が正しく数え上げられていることが分かります。

例2:末尾カンマがあるJSONを検証する

入力:

{"name": "Taro", "age": 28,}

ageの値の後ろに余分なカンマが付いているため、構文エラーになります。

検証結果:

ステータス: 無効なJSONです
エラー: Expected double-quoted property name in JSON at position 27 (line 1 column 28)

該当箇所:
...: "Taro", "age": 28,}...
                    ^

^マーカーが指す位置(末尾の}の直前)にカンマが余分に残っていることが原因です。このカンマを削除すれば有効なJSONになります。

よくあるエラーパターン

  • 末尾カンマ:配列やオブジェクトの最後の要素の後ろに、余分な,が残っている
  • クォート漏れ:キー名がダブルクォートで囲まれていない、またはシングルクォートを使っている
  • 文字列内の未エスケープ文字:文字列の中に生の改行やダブルクォートが含まれている
  • カンマの付け忘れ:複数のキーや配列要素の間にカンマがない

使い方

  1. 入力欄にJSONテキストを貼り付けます。
  2. 自動検証がオンの場合、入力するたびに即座に検証結果が表示されます。
  3. エラーがある場合は、エラー内容と該当箇所が表示されます。
  4. 有効なJSONの場合、キー数やネストの深さなどの統計情報が表示されます。

よくある質問

JSON Formatterとの違いは何ですか?

JSON Formatterは整形・圧縮機能を含みますが、JSON Validatorは構文チェックとエラー箇所の特定、JSON構造の統計情報表示に特化しています。

エラー箇所はどのように表示されますか?

パースエラーが発生した位置の前後の文字列を抜き出し、エラー位置に "^" マーカーを表示します。

データはサーバーに送信されますか?

いいえ、すべての処理はブラウザ内で行われます。

統計情報の「ネストの深さ」はどう数えますか?

最も外側のオブジェクト・配列を深さ0として、値を1段掘り下げるごとに深さが1増えます。配列内のオブジェクトなど、入れ子になった構造ほど深さの値が大きくなります。

配列だけ(オブジェクトを含まない)のJSONも検証できますか?

はい。ルート要素が配列・文字列・数値・真偽値・nullのいずれであっても検証できます。有効な場合、ルート要素の型が「配列(要素数)」のように表示されます。