JSON構造比較

2つのJSONのキー・値・型を比較し、追加・削除・変更の位置を確認。大きな数値を丸めず、結果をJSONでコピー・保存できます。

使い方

  1. 変更前と変更後のJSONを入力します。
  2. 比較を実行します。
  3. 変更された場所と値を確認し、結果をコピーまたはJSON保存します。

比較する2つのJSON

各入力はUTF-8で2MB、100,000個の値(オブジェクト・配列を含む)・入れ子32段階まで。変更10,000件、出力5MBまで。入力・ファイル名・結果は保存や送信をしません。

比較結果

文章の見た目ではなく、JSONの構造を比較

オブジェクトのキー順やインデントだけの違いは数えません。文字列は大文字・小文字、空白、Unicodeの文字を区別します。文字列の "1" と数値の 1 は型の変更です。

数値の 1、1.0、1e0 は同じ値とします。-0 と0も同じです。大きな整数や小数はJavaScriptの数値へ丸めずに比較します。指数は先頭ゼロを除き128桁までです。

配列は同じ番号の要素を照合します。並べ替えや途中への挿入も、その位置の値の変更として数えます。IDによる行の照合や、移動の検出は行いません。

追加・削除された配列やオブジェクトは、その部分を1件として表示します。型が変わった部分も1件です。結果のpathはJSON Pointerで、空文字は全体、/は~1、~は~0で表します。

実例は追加1・削除1・値変更1・型変更1です。before・afterは元のJSON値で、数値の桁や指数表記を保ちます。元の空白やエスケープ表記は保持せず、入力を書き換えません。

処理はブラウザー内のWorkerで行い、取り消すで中断できます。入力編集・ファイル差し替え・リセットも進行中の比較を止めます。ファイルの読み込み後は比較するを押してください。

出力はUTF-8・BOMなし。表示は先頭20,000文字までですが、コピー・保存は全件です。上限超過では部分結果を保存できません。比較し直すまで古い結果の操作はできません。

入力例と結果の確認

オブジェクトの順序と数値表記、配列の順序と値の型を分けて比較します。

「この例を試す」を押すと、上の入力と設定が例の内容に切り替わり、処理を実行します。「元の入力へ戻す」は1回ごとに直前の入力と設定を復元します。複数の例を試した場合は、戻す操作を繰り返すと最初の入力へ戻れます。ページを閉じるとこの履歴は失われます。

キー順と1/1.0の違いは同じ値

入力と設定

左:{"a":1,"items":[1,2],"enabled":true}
右:{"enabled":true,"items":[1,2],"a":1.0}

期待する結果

一致 / 追加・削除・値変更・型変更はすべて0

配列の入替は値変更、falseの文字列化は型変更

入力と設定

左:{"items":[1,2],"flag":false}
右:{"items":[2,1],"flag":"false"}

期待する結果

値変更2:/items/0、/items/1
型変更1:/flag / 追加0・削除0

結果の見方

オブジェクトはキー名で、配列は添字で対応させます。配列の移動を探す機能ではないため、1と2を入れ替えると2つの位置の変更になります。数値1と1.0は等価ですが、真偽値falseと文字列"false"は型が違います。

対応範囲と注意点

各入力2MB・出力5MB、100,000値・深さ32・変更10,000件まで。数値の指数は先頭0を除き128桁までです。重複キーは拒否。空白差の行単位比較や配列の集合比較ではありません。画面は先頭20,000文字で保存は全文。復元は両方のJSONとファイルを戻し、進行中の例のWorkerは取り消します。

検証根拠:キー対応・添字対応・型から0件と値2/型1を独立に数えます。ファイル保持、実Workerと保存、未完の例から元入力へ戻した際の遅延結果無視を確認します。

次の作業に使えるツール

よくある質問

nullと項目がない場合は同じですか?

違います。nullは存在する値です。キーがなくなれば削除、追加されれば追加です。false、0、空文字もそれぞれの値として比較します。

重複キーがあるJSONは比較できますか?

意図しない項目の欠落を避けるため、どちらの入力でも重複キーはエラーにします。不正なJSON・UTF-8も比較を止めます。

結果が同じでも保存できますか?

できます。equalがtrue、changesが空の配列のJSONレポートになります。両方の入力が上限内の有効なJSONであることも確認します。

関連ツール

入力と保存について

残したい内容は、先に保管してください。このツールの入力内容・結果は自動保存されません。ページの更新・終了や、入力を消す操作・リセットで失われる場合があります。

お気に入り・表示言語は作業データとは別に保存され、サイトデータの削除で失われる場合があります。端末に保存済みのファイルは、ツールのリセットやサイトデータの削除では消えません。

ツール・ゲームを探す

全120ツール・16ゲーム

全120ツール・16ゲーム

文章・文字 26

計算・変換 22

日付・時間 12

画像・PDF 26

データ・Web 28

抽選・便利 6

ゲーム 16