JSON差分・比較ツール

2つのJSONを比較し、追加・削除・変更されたキーのパスを強調表示します。

ツールを読み込み中…

JSON差分・比較ツール2つの JSON を並べて貼り付けると、このツールは単純な行単位の差分ではなく、キーごとの構造的な比較を行います。そのためキーの並べ替えや空白の違いで誤検出が起きることはありません。各差分は user.name や items[0] のような正確なパスで示され、追加・削除・変更として分類されます。解析と比較はすべてブラウザ内で完結するため、データが端末の外に出ることはありません。

JSON差分・比較ツールとは?

JSON Diff は、2 つの JSON 値の意味的な違いを見つける、ブラウザ内で動作する無料ツールです。テキストを 1 行ずつ比較するのではなく、両方のツリーをたどってキーを名前で、配列要素をインデックスで突き合わせ、config.server.port や list[2] のようなドット区切りのパスで各変更を報告します。バックエンドや API の開発者は 2 つの API レスポンス・設定ファイル・テストデータの間で何が変わったかを正確に確認するために使い、QA エンジニアやデータアナリストは変換やマイグレーションが期待どおりの結果を生んだかを確かめるために使います。記号スタイルを選べば変更を + / - / ~ の行として、文字スタイルを選べば追加・削除・変更として読めます。入れ替えボタンは左右の入力を反転させ、どちらの向きからでも差分を確認できます。

JSON差分・比較ツールの使い方

  1. 元の JSON を「左(元)」ボックスに貼り付けます。
  2. 比較したい JSON を「右(変更後)」ボックスに貼り付けます。
  3. 結果ブロックで差分を確認します。各行に変更されたパスと値が表示されます。
  4. スタイル設定で、+ / - / ~ の記号と、追加 / 削除 / 変更の文字を切り替えます。
  5. 入れ替えで左右を反転し、コピーで差分レポート全体を取得します。

使用例

1つの値が変わった場合

入力

左: {"name":"Ada","age":30}
右: {"name":"Ada","age":31}

出力

~ age: 30 -> 31

キーが1つ追加され1つ削除された場合

入力

左: {"a":1,"b":2}
右: {"a":1,"c":3}

出力

- b: 2
+ c: 3

キーの並べ替えは同一とみなされる

入力

左: {"x":1,"y":2}
右: {"y":2,"x":1}

出力

差分なし — 2つのドキュメントは同じです。

よくある質問

私の JSON はサーバーに送信されますか?
いいえ。両方のドキュメントは、端末上で動作するディープ差分処理によってブラウザ内で解析・比較されます。何もアップロードされず、オフラインでも動作します。
通常のテキスト差分と何が違いますか?
テキスト差分は行同士を比較するため、再フォーマットやキーの並べ替えも変更のように見えます。このツールは解析後の構造を比較し、オブジェクトのキーを名前で、配列要素を位置で突き合わせるので、本当の意味的な違いだけを報告します。
キーの順序は関係ありますか?
関係ありません。同じキーと値を持つ 2 つのオブジェクトは、キーの出現順に関わらず同一とみなされます。ただし配列要素はインデックスで比較されるため、配列の並べ替えは変更として扱われます。
各行は何を意味しますか?
追加されたパスは右側にのみ存在し、削除されたパスは左側にのみ存在し、変更されたパスは両側で値が異なります。記号スタイルでは +、-、~ として、文字スタイルでは言葉で表されます。
JSON が無効な場合はどうなりますか?
どちらかの側が解析できないと、左右どちらが無効かをエラー表示で知らせるので修正できます。両側が正しく解析できると、差分は自動的に更新されます。

関連ツール