Developer Utility

JSON Diff 比較ツール

2つの JSON データを比較し、追加・削除・変更された値を確認できる JSON 比較ツールです。API レスポンス、設定ファイル、テストデータの差分確認に活用できます。

JSON 構造比較 オブジェクト、配列、ネストされたフィールドの差分を JSON パス基準で確認できます。
変更点の分類 追加、削除、変更、同一項目を分けて API レスポンスの差分を素早く把握できます。
整形・コピー・ダウンロード JSON の自動整形、比較結果のコピー、レポートのダウンロードまでまとめて行えます。

JSON 入力

比較する元の JSON と変更後の JSON をそれぞれ入力してください。

パス基準の比較 root.user.profile.nameやroot.items[0].priceなどのJSONパスで変更箇所を表示します。
型の違いを確認 文字列、数値、真偽値、null、オブジェクト、配列の型変更も変更項目として表示します。
元のキー 0件 変更後キー 0件 比較待機中

比較結果

追加、削除、変更された JSON パスと値を確認できます。

待機中
0 追加
0 削除
0 変更
0 同一
2つの JSON データを入力して、比較ボタンを押してください。

JSON 比較方式

比較結果は単純な文字列比較ではなく、JSON 構造を解析したうえでパスと値を基準に表示します。

追加された値

変更後 JSON にのみ存在するフィールドや配列項目です。新しい API フィールドや設定値の確認に役立ちます。

削除された値

元の JSON には存在したが、変更後 JSON から消えたフィールドです。欠落したフィールドや削除された設定を確認できます。

変更された値

同じパスにあるものの、値または型が異なる項目です。バージョン変更、レスポンス変更、設定変更の確認に適しています。

使い方ガイド

JSONの値・型・配列の位置を比較する

変更前後のJSONを解析し、追加・削除・変更された場所を確認します。インデントやオブジェクトのキー順は無視しますが、配列の順序と値の型は区別します。

こんな方におすすめ

  • APIレスポンスを比較する開発者
  • 設定ファイルの変更を確認したい方

活用場面

  • レスポンスから消えた項目を探す。
  • 数値が文字列に変わっていないか調べる。

入力から結果の確認まで

  1. 1

    左に元のJSON、右に変更後のJSONを入力します。

  2. 2

    型の詳細と同じ値を表示するか選びます。

  3. 3

    比較し、パスと変更前後の値を確認します。

  4. 4

    最後の比較結果をコピーまたは保存します。入力を編集したら再比較してください。

使用例 1

値の型が変わる例

入力
左:{"version":1,"active":true} 右:{"version":"1","active":true}
結果
root.versionで1件変更:number → string

型の表示をオフにしても、数値1と文字列"1"は同じとは扱いません。

使用例 2

配列の並び替え

入力
左:{"items":["A","B"]} 右:{"items":["B","A"]}
結果
root.items[0]とroot.items[1]の2件変更

同じ位置の要素を比較します。IDによる対応付けや移動の検出はしません。

計算・処理の仕組み

ブラウザでJSONを解析し、オブジェクト自身のキーと配列の同じインデックスを比較します。パスはrootから始まります。ドットを含むキーはroot["a.b"]と表し、入れ子のroot.a.bと区別します。比較時の上限は前後の空白を除いて各入力500,000文字、深さ100です。整形はインデントを付ける機能で、キーを辞書順には並べません。

注意点と制限

  • 同名キーは解析時にまとめられるため、重複キーの検出には使えません。
  • 大きな整数はJavaScript Numberで精度を失う場合があります。長いIDを厳密に比較する場合は文字列を使ってください。
  • 追加されたオブジェクトや配列は1つの追加パスとして数えます。
  • JSON SchemaやAPIの互換性は検証しません。
データの取り扱い

入力はブラウザのメモリで比較し、アップロードや保存はしません。コピーやダウンロードしたレポートには元の値が含まれます。再読み込みすると入力は消えます。

よくある質問

オブジェクトのキー順が違うと変更になりますか?

いいえ。キーと値が同じなら、順番やインデントが違っても同じです。

型や配列の順序を無視できますか?

できません。型スイッチは詳細表示だけを切り替えます。配列は常に位置で比較します。

角括弧で表示されるパスは何ですか?

ドットや空白などを含むキーを区別する表記です。root["a.b"]は1つのキー、root.a.bは入れ子の項目です。