JSON バリデーター

構文エラーを見つけ、注意が必要な箇所を確認。

データとフォーマット
エディターを準備しています…
入力
出力
ここに結果が表示されます。

使い方

  1. JSON を貼り付けるか、ファイルを開くか、サンプルをお試しください。
  2. リアルタイムのレポートを確認します。問題を選ぶと該当箇所に移動します。
  3. 入力を修正して、有効な JSON をコピーまたはダウンロードします。

次に何をすべきかがわかる構文チェック

JSON 検証は、このテキストを 1 つの JSON 値として読み取れるか、という具体的な問いに答えます。区切り記号の欠落、不完全な値、無効なエスケープなど、構文上の問題をレポートで示します。

警告は、プロパティ名の重複や JavaScript の安全な範囲を超える整数など、読み取る側によって解釈が変わり得るデータを示します。警告があっても、構文が正しい JSON が無効になるわけではありません。

有効な JSON とは?

文書は、オブジェクト、配列、文字列、数値、真偽値、null のいずれか 1 つの JSON 値を含みます。プロパティ名と文字列の値には二重引用符が必要です。オブジェクトや配列内の値はカンマで区切り、最後の要素の後にカンマは付けません。

JavaScript の式は JSON ではありません。コメント、undefined、NaN、Infinity、単一引用符、引用符のないプロパティ名は受け付けません。

末尾のカンマ
無効な JSON
{
  "name": "Ada",
  "active": true,
}
修正後の JSON
{
  "name": "Ada",
  "active": true
}

閉じ波括弧の前にある最後のカンマを削除します。バリデーターは問題の場所を示し、修正方法は自分で決めます。

エラーと警告は分けて考える

エラーがあると、利用可能な結果を出せません。位置を選ぶと入力の該当箇所にフォーカスします。まず最初のエラーから修正してください。引用符が 1 つ欠けるだけで、その後に複数の診断が出ることがあります。

JSON の文法は名前の重複を許しますが、どの値を使うかは読み取る側によって異なります。DevToolsy はすべての出現箇所を保持し、警告を表示します。数値範囲の警告も同様に、構文エラーではなく、読み取る側の制約に注意を促すものです。

構文検証とスキーマ検証

構文が正しくても、API のペイロードに正しいフィールドや値が含まれているとは限りません。スキーマは必須プロパティ、値の型などの制約を記述できます。このバリデーターは構文と上記の警告を確認するもので、JSON Schema やアプリケーションのルールは評価しません。

処理の制限

UTF-8 入力は最大 5 MiB、出力は最大 20 MiB、ネストは最大 128 階層、走査するトークンは最大 250,000 個、実行時間は 1 回につき最大 10 秒です。大きな文書には、より高性能なデバイスが必要になる場合があります。

?

よくある質問

検証は自動で実行されますか?

はい。入力が少し止まるとレポートが更新されます。「自動検証」を無効にすると、「JSON を検証」または Ctrl/⌘ + Enter で手動実行できます。入力内容は変わりません。

有効な JSON はオブジェクトである必要がありますか?

いいえ。最上位が配列、文字列、数値、true、false、null でも有効な JSON 文書です。エディターが空の状態は有効ではありません。

キーの重複は構文エラーですか?

JSON の文法では名前の重複を許しますが、ソフトウェアによって異なる値を選んだり、文書を拒否したりすることがあります。このツールでは警告として表示し、エクスポートにもそのまま残します。

JSON Schema をチェックしますか?

いいえ。このツールは、厳密な JSON 構文と相互運用上の注意点を確認します。必須フィールド、JSON Schema、アプリケーションの業務ルールはチェックしません。

JSON を自動修正しますか?

いいえ。診断は確認すべき位置を示し、選ぶと入力の該当箇所にフォーカスします。「エラーのあるサンプル」を使えば、自分のデータを変更せずにすぐ試せます。

1 つの間違いで複数のエラーが出るのはなぜですか?

引用符、カンマ、閉じ括弧の欠落は、その後の解析にも影響する場合があります。最初のエラーを修正し、レポートの更新を待ってから、残りの項目を確認してください。

検証後に何をエクスポートできますか?

有効な JSON なら、チェック済みの入力をコピーまたはダウンロードできます。元の空白とトークンは保持しますが、先頭のバイトオーダーマークは警告とともに削除します。無効な入力を検証済みデータとしてエクスポートすることはできません。

JSON がデバイスの外に送られますか?

いいえ。貼り付けたテキストとローカルファイルはブラウザー内で処理します。DevToolsy は文書をアップロードせず、文書の履歴も保存しません。必要な結果は、ページを離れる前にダウンロードしてください。

次に使うツールを探す

言語

言語を切り替えますか?現在の作業内容が消去されます。先に必要な内容をコピーまたはダウンロードしてください。