JSON 整形・検証ツール
JSON を整形・圧縮・検証します。構文エラーは行と列まで正確に示し、大きな数値は書かれたとおりに保持します。
- 最上位の型
- キー数
- 最大の深さ
- サイズ
ツールをここにピン留めできます。このブラウザに保存されます。
ツールをピン留めすると、そのステッカーがここに並びます。
JSON を整形・圧縮・検証します。構文エラーは行と列まで正確に示し、大きな数値は書かれたとおりに保持します。
JSON は RFC 8259 と ECMA-404 で定義されています。1 つのドキュメントは 1 つの値で、オブジェクト、配列、文字列、数値、true、false、null のいずれかです。文字列とオブジェクトのキーはダブルクォートで囲み、コメントの構文はありません。
壊れたドキュメントの多くには、JavaScript のオブジェクトリテラルでは許されても JSON では許されないものが含まれています。最後の要素の後のカンマ、シングルクォート、クォートのないキー、コメントなどです。よくある誤りを修復をオンにすると、このツールはこれらに加えて、文字列内の生の改行やタブ、シングルクォート前のバックスラッシュ、Python の True、False、None も読み取り、何を変更したかを示したうえで厳密な JSON を出力します。
JSON.parse のエラーメッセージはブラウザごとに書き方が異なり、位置を示さないものもあります。このツールは独自のパーサーでテキストを読むため、メッセージも行も列も、どの環境でも同じです。エラー箇所へ移動を押すと、入力の中で問題の文字が選択されます。ドキュメント全体を貼り付けたときは、自動で選択されます。
示される位置はパーサーが先に進めなくなった場所なので、実際の誤りより少し後になることがあります。たとえばカンマの抜けは、次の要素の最初の文字の位置で報告されます。
JSON の文法は数値の大きさを制限していませんが、JavaScript の JSON.parse はすべての数値を 64 ビット浮動小数点数に変換します。この形式で正確に表せる整数は 2 の 53 乗(9,007,199,254,740,992)までです。12345678901234567890 のような大きな ID は、JSON.parse を通すと 12345678901234567000 になります。このフォーマッターは数値を変換せず、そのテキストをコピーします。そのため長い整数も 1.0 も 1e5 も入力どおりに出力され、JavaScript のパーサーで値が変わってしまう整数があれば警告します。
RFC 8259 では、オブジェクトのキーは一意であるべきとされ、重複を受け取ったソフトウェアの動作は予測できないとしています。多くのパーサーは警告なしに最後の値だけを残します。このフォーマッターはすべてのエントリを残し、最初の重複がどこにあるかを示します。
キーを並べ替えは、すべての階層にあるすべてのオブジェクトのキーを、UTF-16 のコード単位の順に並べます。これは JavaScript の既定のソートと同じ順序で、数字、大文字、小文字の順になります。配列の順序は変わりません。サイズは UTF-8 のバイト数で数えます。
いいえ。テキストの解析と整形はブラウザのタブ内の JavaScript で行われます。このツールが貼り付けた内容を含むネットワークリクエストを送ることはありません。
RFC 8259 の文法にはコメントの構文がなく、カンマの後には必ず値が必要なため、標準的なパーサーはどちらも受け付けません。これらを許すのは JSON5 という別の形式です。そのようなファイルを読み込んで厳密な JSON に直すには、「よくある誤りを修復」をオンにしてください。
整形では各要素を 1 行ずつに分けてインデントするので、構造が読みやすくなります。圧縮では要素間の空白を取り除くので、ドキュメントが小さくなり、保存や送信に向きます。どちらもデータは同じです。
仕様に従うプログラムにとっては変わりません。仕様ではオブジェクトを、名前と値のペアの順序のない集まりとしているためです。並べ替えは、2 つのドキュメントを行単位で比較するときに役立ちます。配列には順序があるので、その要素が移動することはありません。
専用のウィンドウで開き、オフラインでも使えます。
インストールするには、共有ボタンをタップして「ホーム画面に追加」を選びます。