JSON の整形と構文チェック
JSON を整形し、壊れている場所を行と列で示す。
JSON を貼り付けると、読みやすく字下げして整形し、構文エラーがあれば何行目の何文字目で何が間違っているか(末尾のカンマ・一重引用符・コメントなど)を日本語で示します。重複した項目名や桁あふれする整数も警告します。入力は送信しません。
JSON を貼り付けて整形・検査する
入力した内容は送信されません。貼り付けた文字や選んだファイルは、お使いのブラウザの中だけで処理します。本サイトのサーバーや第三者へ送信・保存しません(通信を禁止する設定でページを配信しています)。
結果
エラー 0 件・警告 0 件・情報 0 件
指摘(エラー・警告・情報)
指摘はありません。
| 判定 | 構文は正しい |
|---|---|
| 一番外側の値 | オブジェクト({ }) |
| 項目(キー)の数 | 8 個 |
| 入れ子の深さ | 2 段 |
整形した JSON
{
"id": 42,
"name": "佐藤",
"tags": [
"a",
"b"
],
"active": true,
"score": 3.50,
"owner": null,
"meta": {
"page": 1
}
}
初期表示は入力例「1 行に詰まった API の応答を整形する」の結果です。入力を変えるとその場で処理し直します。判定の根拠は仕様と根拠にまとめています。
ご利用にあたって
- 検査は JSON の構文(RFC 8259)に限ります。読み込む側のソフトが独自の制限を持つ場合があります。
- 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。
使い方
- JSON をテキスト欄に貼り付けるか、JSON ファイルを選びます。
- 字下げの幅を選びます。通信量を減らしたいときは「字下げなし」を選ぶと 1 行に詰められます。
- エラーが出たら、表示された行と列の位置を元の JSON で探し、指摘の文に沿って直します。
- エラーがなくなったら、整形した JSON をコピーするかダウンロードして使います。
入力例と結果
代表的な入力・境界の入力・壊れた入力の例です。例ごとに入力・出力・指摘と、その結果になる理由(検算)を載せています。
| 入力例 | 結果 |
|---|---|
| 1 行に詰まった API の応答を整形する | エラー 0 件・警告 0 件・情報 0 件 |
| 末尾のカンマで読み込めない JSON | エラー 1 件・警告 0 件・情報 0 件 |
| Python の True・None と一重引用符 | エラー 1 件・警告 0 件・情報 0 件 |
| 重複した項目名と大きすぎる整数 | エラー 0 件・警告 2 件・情報 0 件 |
| 途中で切れた JSON(閉じかっこ不足) | エラー 1 件・警告 0 件・情報 0 件 |
このツールでできないこと(制約)
- JSON Schema などによる内容(項目の有無・型・値の範囲)の検査はしません。構文だけを確かめます。
- 構文エラーは最初の 1 か所だけを示します。直したあとに貼り直すと、次のエラーが見つかることがあります。
- JSON Lines(1 行に 1 つの JSON)や、コメント・末尾カンマを許す JSON5・JSONC は、JSON としてはエラーになります。
- ファイルは UTF-8 として読みます。Shift_JIS などほかの文字コードのファイルは文字化けすることがあります。
よくある質問
末尾のカンマはなぜエラーになるのですか?
RFC 8259 の文法では、配列やオブジェクトの最後の要素の後ろにカンマを置けないためです。JavaScript では許されますが、JSON として読み込む多くの仕組みではエラーになります。
数値が勝手に変わることはありますか?
このツールは数値を元の表記のまま出力するため変わりません。ただし、2 の 53 乗を超える整数は JavaScript などで読むと丸められるため警告を出します。ID のような値は文字列にしておくと安全です。
社外秘の JSON を貼っても大丈夫ですか?
整形と検査はお使いのブラウザの中だけで行い、内容をサーバーや第三者へ送信しません。ページは通信を禁止する設定で配信しています。共用の端末では使い終わったらページを閉じてください。