JSON 差分比較

2つの JSON を並べて比較し、追加・削除・変更されたパスをすばやく見つけます。

比較オプション

ツール概要:JSON Diff

JSON Diff は 2 つの JSON を並べて比較し、追加・削除・変更されたパスをすばやく見つけるためのツールです。API デバッグ、設定レビュー、契約差分の確認、回帰チェックなど、手作業で見比べるには大きすぎる JSON を扱う場面に向いています。

JSON Diff とは?

JSON Diff は 2 つの JSON 構造を再帰的にたどり、差分をパス単位で整理して表示します。整形済みテキストを目で追うよりも、どのネストキーや配列要素が実際に変わったかを把握しやすいのが特徴です。

使い方

  1. 左側に元の JSON を貼り付けます。
  2. 右側に比較対象の JSON を貼り付けます。
  3. 必要に応じて、比較前にオブジェクトキーの並び替えを有効にします。
  4. 比較を実行し、差分一覧・整形済み JSON・ダウンロード可能なレポートを確認します。

よくある利用シーン

  • 2 つの API レスポンスを比較してスキーマ変更を確認する
  • デプロイ前に設定ファイルの差分を見直す
  • モックデータと実際のバックエンドレスポンスを照合する
  • 回帰確認時にデータ構造の変更を検証する

✨ 特徴

  • 📍 パス単位の差分表示$.meta.locale$.items[2].status のような正確な位置をそのまま確認できます。
  • 🔁 オブジェクト・配列を再帰比較:オブジェクトはキー単位、配列はインデックス単位で比較します。
  • 🧹 キー並び替えに対応:プロパティ順だけが違う場合のノイズを減らせます。
  • 📦 レポートのコピー・ダウンロード:Issue、PR、レビュー共有にも使いやすい構成です。

📋 例

元の JSON

{
  "project": "ToolMi",
  "version": "1.0.0",
  "features": {
    "jsonDiff": false,
    "jsonSchema": true
  },
  "tags": ["json", "compare", "nuxt"],
  "meta": {
    "locale": "en",
    "updatedAt": "2026-03-07"
  }
}

更新後の JSON

{
  "project": "ToolMi",
  "version": "1.1.0",
  "features": {
    "jsonDiff": true,
    "jsonSchema": true,
    "jsonPath": true
  },
  "tags": ["json", "diff", "nuxt", "i18n"],
  "meta": {
    "locale": "fr",
    "updatedAt": "2026-03-08"
  }
}

差分出力の例

Changed $.version
Changed $.features.jsonDiff
Added $.features.jsonPath
Changed $.tags[1]
Added $.tags[3]
Changed $.meta.locale
Changed $.meta.updatedAt

🔧 使い方のコツ

  1. 先に JSON の妥当性を確認する:コメント、末尾カンマ、不正な引用符を除去してから比較してください。
  2. 順序が重要でないならキーを並べ替える:API がプロパティ順だけ変えて返す場合に有効です。
  3. 整形ではなくパスと値を見る:重要なのはインデントではなく、どの値がどこで変わったかです。
  4. 大きな配列は分割して確認する:配列が大きい場合は、まず必要な範囲だけ切り出すとレビューしやすくなります。

❓ FAQ

Q1: 見た目が違うのに差分が出ないのはなぜですか?
A: このツールは空白やインデントではなく、解析後の構造と値を比較するためです。

Q2: 配列は値ベースですか、それとも位置ベースですか?
A: 現在はインデックス単位で比較します。順番の入れ替えも差分として扱われます。

Q3: 通常のテキスト比較にも使えますか?
A: 内容が有効な JSON である場合に向いています。通常のテキストはテキスト diff ツールを使う方が適切です。

Q4: 結果をエクスポートできますか?
A: はい。レポートをコピーするか、構造化された差分レポートとしてダウンロードできます。