JSON 差分比較
2つの JSON を並べて比較し、追加・削除・変更されたパスをすばやく見つけます。
ツール概要:JSON Diff
JSON Diff は 2 つの JSON を並べて比較し、追加・削除・変更されたパスをすばやく見つけるためのツールです。API デバッグ、設定レビュー、契約差分の確認、回帰チェックなど、手作業で見比べるには大きすぎる JSON を扱う場面に向いています。
JSON Diff とは?
JSON Diff は 2 つの JSON 構造を再帰的にたどり、差分をパス単位で整理して表示します。整形済みテキストを目で追うよりも、どのネストキーや配列要素が実際に変わったかを把握しやすいのが特徴です。
使い方
- 左側に元の JSON を貼り付けます。
- 右側に比較対象の JSON を貼り付けます。
- 必要に応じて、比較前にオブジェクトキーの並び替えを有効にします。
- 比較を実行し、差分一覧・整形済み 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
🔧 使い方のコツ
- 先に JSON の妥当性を確認する:コメント、末尾カンマ、不正な引用符を除去してから比較してください。
- 順序が重要でないならキーを並べ替える:API がプロパティ順だけ変えて返す場合に有効です。
- 整形ではなくパスと値を見る:重要なのはインデントではなく、どの値がどこで変わったかです。
- 大きな配列は分割して確認する:配列が大きい場合は、まず必要な範囲だけ切り出すとレビューしやすくなります。
❓ FAQ
Q1: 見た目が違うのに差分が出ないのはなぜですか?
A: このツールは空白やインデントではなく、解析後の構造と値を比較するためです。
Q2: 配列は値ベースですか、それとも位置ベースですか?
A: 現在はインデックス単位で比較します。順番の入れ替えも差分として扱われます。
Q3: 通常のテキスト比較にも使えますか?
A: 内容が有効な JSON である場合に向いています。通常のテキストはテキスト diff ツールを使う方が適切です。
Q4: 結果をエクスポートできますか?
A: はい。レポートをコピーするか、構造化された差分レポートとしてダウンロードできます。