開発者ツール

JSONの整形、検証、圧縮、比較

JSONを見やすく整形したり圧縮したり、構文エラーを調べたり、2つのJSONの追加・削除・変更を比較できます。処理はすべてブラウザ内で行います。

JSONを見やすく整える、圧縮する、構文エラーを確認する、2つのJSONの追加・削除・変更を比べる。データはNEXNARAに送られません。

  • 端末内で実行
  • アップロードなし
  • すぐ変換
  • 無料
モード

ファイルはこのブラウザ内に留まります。サーバーには送られません。

使い方

  1. データを貼り付ける
  2. 実行する
  3. 結果をコピーする

NEXNARA を使う理由

  • 非公開

    データはブラウザ内に留まります。

  • すぐ変換

    結果はすぐに表示されます。

  • アップロードなし

    NEXNARA のサーバーには何も送りません。

  • どこでも使える

    インストールは不要です。

詳しく見る

JSONの整形と検証

JSONフォーマッターは、テキストが正しいJSONかを確認し、インデント付きで出力したり1行に圧縮したりできます。このページでは2つのJSONも比較します。ブラウザのJSON.parseとJSON.stringifyを使い、evalは使いません。

JSONの整形と検証

JSONを貼り付けて見やすくしたり、圧縮したり、構文を確認できます。整形はJSON.stringifyが行う範囲を超えてキーや値を変えません。

JSONを見やすくする

整形すると改行とインデントが入り、入れ子のオブジェクトが読みやすくなります。スペース2、スペース4、タブから選べます。初期値はスペース2です。

JSONを圧縮する

圧縮は文字列内の空白はそのままに、余分な空白と改行だけを除きます。データは同じで、見た目の大きさだけが小さくなります。

不正なJSONを見つける

よくある原因は末尾のカンマ、単一引用符、コメント、引用符のないキーです。ブラウザが位置を返す場合、このツールは行、列、文字位置を表示します。位置をでっち上げることはありません。

2つのJSONを比較する

JSON Diffは両方を解析し、追加・削除・変更・型変更のパスを一覧にします。内容が同じなら、整形済みJSONと圧縮JSONは同じものとして扱います。

追加・削除されたフィールド

JSON Bにだけあるパスは追加です。JSON Aにだけあるパスは削除です。存在しないこととnullは別です。

変更された値

同じパスに同じ型の別の値がある場合、その行は変更となり、古い値と新しい値を示します。文字列の"100"と数値の100は型の変更です。

入れ子JSONの差分

オブジェクトは再帰的に比較します。user.address.city内の変更はそのパスで報告され、オブジェクト全体の置き換えにはしません。

配列の比較方法

配列はインデックスで比較します。items[0]、items[1]などです。並び替えると複数の差分が出ることがあります。隠しidで項目を突き合わせることはしません。

使い方

整形と検証では、1つのJSONを整えたり圧縮したり確認します。JSON Diffでは2つの文書を貼るかアップロードして比較します。例を読み込むと、追加・削除・変更・型変更のある小さなサンプルが表示されます。

プライバシー

JSONはブラウザ内に留まります。NEXNARAのサーバーには送られず、Cookie、ローカルストレージ、データベースにも保存されません。

よくある質問

JSONフォーマッターは何をしますか?

テキストが正しいJSONかを確認し、インデント付きで再出力したりコンパクトな文字列にしたりできます。データはそのままです。

JSONの検証はどうしますか?

テキストを貼り付けて「JSONを検証」を押します。正しければ成功と表示されます。不正なら分かりやすいエラーが出て、ブラウザが提供すれば行・列・位置も示します。

JSONを圧縮できますか?

できます。JSONを圧縮すると余分な空白と改行が除かれます。文字列内の空白は残ります。

2つのJSONオブジェクトをどう比較しますか?

JSON Diffを開き、JSON AとJSON Bを貼るかアップロードして「比較」を押します。表に追加・削除・変更・型変更のパスが一覧されます。

キーの順番は重要ですか?

いいえ。オブジェクトのキー順だけが違う場合は差分になりません。{"a":1,"b":2}と{"b":2,"a":1}は同じです。

配列はどう比較されますか?

インデックスです。items[0]はitems[0]と比べます。並び替えただけでも複数行が変わることがあります。この版ではキーによる配列マッチングはありません。

入れ子のJSONも比較できますか?

できます。入れ子のオブジェクトを再帰的にたどるので、user.address.cityのようなパスに変更が表示されます。

存在しないこととnullの違いは?

存在しないフィールドは削除または追加です。nullは実際のJSON値です。null、""、0、falseは同じものとして扱いません。

JSONはサーバーに送られますか?

いいえ。解析、整形、比較はブラウザ内で行われます。選んだファイルもアップロードされません。

JSONはどのくらいの大きさまで扱えますか?

キーが数千個ある一般的な文書は問題ありません。5MBを超えると警告が出ます。15MBを超える文書は、ブラウザの応答を保つため処理しません。