JSON Diff|JSON差分比較

2つのJSONを構造で比較し、追加・削除・変更の場所をJSON Pointerで表示。大きな整数を丸めず、比較レポートをコピー・保存できます。

アップロード不要・登録不要・無料

JSON Diff

キー順を無視・配列は添字で比較

数値は表記も比較します(1と1.0は変更)。大きな整数を丸めません。重複キーは比較前に修正してください。

入力は各500万UTF-16コード単位・10万ノード・512階層まで。UTF-8ファイルは各5MBまで。サーバーに送信しません。

使い方

01

左右に入力

変更前と変更後のJSONを貼り付けるかUTF-8ファイルを開きます。

02

差分を比較

構文と重複キーを検査してから構造を比較します。

03

変更箇所を確認

JSON Pointerと値のプレビューを確認し、レポートを保存します。

APIの設定変更を確認する

{"enabled":false,"limit":10} と {"limit":10,"enabled":true} の比較では /enabled の1件を変更として表示します。キーの並び順は差分に含めません。

数値は表記も比較するため1と1.0は変更です。配列は添字ごとに比較し、要素の移動は検出しません。追加・削除されたオブジェクトや配列はコンテナ単位で1件と数えます。

よくある質問

空白やキーの順序だけでも差分になりますか?

構造の外の空白やオブジェクトのキー順は無視します。文字列内の空白は比較します。Unicodeエスケープと同じ文字の直接表記は一致として扱います。

大きな整数は正しく比較できますか?

数値をJavaScriptのNumberに変換せず、元の文字列表記を比較します。9007199254740993のような整数の桁も保持します。

重複キーがあるとどうなりますか?

同じキーに複数の値があると比較対象が曖昧になるため、エラーとして止めます。JSON構文チェックで重複を確認できます。

JSON Pointerとは何ですか?

ルートから値を特定するパスです。キー内の / は ~1、~ は ~0 に置き換えます。ルート全体の差分は画面で(root)、保存では空文字として表示します。

レポートは完全なパッチですか?

いいえ。値は先頭200コード単位のプレビューで、適用可能なJSON Patchではありません。差分が500件を超えると先頭500件だけ保存し、truncatedをtrueにします。

入力の上限はありますか?

左右それぞれ500万UTF-16コード単位、10万ノード、512階層までです。UTF-8ファイルは各5MBまで。差分のパスと値プレビューの合計が100万コード単位を超える場合は処理を止めます。Workerで処理し、外部へ送信しません。

ほかのツールも使う