JSON整形・構文チェック
JSONを読みやすく整形(インデント)したり、1行に圧縮したり、開閉できるツリーで表示したりします。構文エラーは行・文字位置と該当箇所を表示します。
使い方
- 「入力(JSON)」にJSONを貼り付けます。
- インデント(スペース2つ・4つ・タブ)を選び、「整形する」を押します。1行にしたい場合は「圧縮(1行)」、確認だけなら「構文チェックのみ」を押します。
- 「ツリー表示」を押すと、オブジェクトと配列を開閉できるツリーで表示します。「すべて開く」「すべて閉じる」でまとめて切り替えられます。
- エラーがあると、行・文字位置とその周辺が表示されます。修正してもう一度押してください。
- 結果を「コピー」するか、「ダウンロード」で .json ファイルとして保存します。
注意事項
- 入力は5MBまでです。入れ子は1,000階層まで処理します。
- 標準のJSON(RFC 8259)のみ対応します。コメント、末尾のカンマ、シングルクォート、NaN・Infinityなどはエラーになります。
- 重複したキーはエラーにせず、そのまま残したうえで警告します。
- ツリー表示は値が2万個までのJSONに対応します。それより大きい場合は「整形する」を使ってください。
- 先頭のBOMは取り除いて処理します。結果は改行コードLFで出力します。
- 入力内容は保存しません。ページを閉じると消えます。
計算・変換の仕組み
JSON.parseを使わず、文字を1つずつ読む独自の解析で構文を確認します。そのため、エラーの説明と位置はブラウザによって変わりません。
文字列と数値は入力に書かれたまま出力します。大きな整数(2の53乗を超える値)の桁落ち、1.0が1になる変化、1e400がnullになる変化、\u0041などのエスケープの書き換えは起きません。変わるのは空白と改行だけです。
同じオブジェクト内で同じキーが2回以上出てくると、キー名・場所(例:$.items[0])・行と文字位置を表示します。多くのプログラムでは最後の値だけが使われます。
ツリー表示も同じ解析結果から作るため、値は入力に書かれた文字のまま表示されます(大きな整数も桁が変わりません)。キー名だけはエスケープを解いて表示します。
圧縮すると、圧縮前と圧縮後のサイズ(UTF-8のバイト数)を表示します。
よくある質問
入力したJSONはどこかに送信されますか?
いいえ。整形・チェックはすべてブラウザ内で行い、サーバーには送信しません。
大きな数値の桁が変わることはありますか?
ありません。数値は書かれた文字のまま出力するため、12345678901234567890 のような値もそのまま残ります。ツリー表示でも同じです。
コメント付きのJSON(JSONC)は使えますか?
使えません。コメントの位置でエラーになります。コメントを削除してから整形してください。
文字位置はどう数えていますか?
行の先頭を1文字目として、絵文字なども1文字として数えます。タブも1文字です。
関連する使い方ガイド
- JSONのエラー箇所を見つけて直し、整形する方法パーサーが読めなくなる代表的なJSONの書き間違い(引用符・カンマ・コメント・True/False)の見つけ方と直し方、整形・圧縮・ツリー表示の使い方を説明します。
関連ツール
最終更新日: