JSON比較 / Diff + Patch

2つのJSONを意味的に比較し、差分をそのままパッチへつなげるブラウザ内ツールです。

アップロードなし、サーバー送信なし。配列モード、パスルール、数値許容差でレビューしやすい差分に整えます。

サーバー送信なしのブラウザ内処理
配列対応の比較モードでレビューのノイズを削減
JSON Patch と JSON Merge Patch を出力
入力はこのブラウザ内だけで処理されます。アップロードは行いません。

推奨ワークフロー

  1. 必要に応じて、JSON Formatter や JSON Key Sorter で入力を整えます。
  2. 左右のJSONを貼り付けるかアップロードして、比較を実行します。
  3. 配列モード、照合キー、許容差、パスルールでノイズを減らします。
  4. サマリー、変更パス、ツリー、パッチを確認して、必要な出力を保存します。

サンプル

このサンプルでは、配列の順序入れ替え、タイムスタンプの更新、小さな数値差、追加アイテムをまとめて扱い、match keys、許容差、パスルールでどこまでノイズを消せるかを確認できます。

変更前

入力
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:00:00Z",
  "customer": {
    "name": "Acme Corp",
    "tags": ["vip", "beta"]
  },
  "items": [
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10
    },
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5
  }
}

変更後

入力
{
  "orderId": "A-1001",
  "updatedAt": "2026-04-16T08:05:00Z",
  "customer": {
    "name": "Acme Corporation",
    "tags": ["beta", "vip"]
  },
  "items": [
    {
      "sku": "B-2",
      "qty": 1,
      "price": 4.5
    },
    {
      "sku": "A-1",
      "qty": 2,
      "price": 10.0001
    },
    {
      "sku": "C-3",
      "qty": 1,
      "price": 7
    }
  ],
  "summary": {
    "currency": "USD",
    "total": 24.5001
  }
}

このサンプルで分かること

このサンプルでは、配列の順序入れ替え、タイムスタンプの更新、小さな数値差、追加アイテムをまとめて扱い、match keys、許容差、パスルールでどこまでノイズを消せるかを確認できます。

使い方

  1. 左右のJSONを貼り付けるか、ファイルをアップロードします。
  2. strict / 順序無視 / multiset / キー照合 を選び、必要に応じてパスルールを追加します。
  3. 比較ボタン、または Ctrl/Cmd + Enter で比較します。検証だけなら Validate も使えます。
  4. 結果が出たら、変更パス、JSON Patch、JSON Merge Patch、レポートをコピーまたはダウンロードします。

できること

  • JSONを行単位ではなく意味単位で比較できます。
  • id、sku、code などのキーで配列内オブジェクトを対応付けできます。
  • 無視したいパス、比較対象だけのパス、パスごとのルールを使えます。
  • 数値許容差で小さな浮動小数点差を吸収できます。
  • JSON Patch、JSON Merge Patch、変更パス、Markdown レポートを出力できます。
  • 変更なしのノードを折りたたみ、該当箇所へすぐ移動できます。

比較ルールと出力仕様

  • 処理は完全にブラウザ内で完結し、サーバー送信はありません。
  • 配列モードは strict / 順序無視 / multiset / キー照合 に対応します。
  • パスルールでは ignore、strict、ignore-order、multiset、match-keys、tolerance を指定できます。
  • 数値許容差は数値に対してのみ適用されます。
  • 必要に応じて、解析前にコメントを削除できます。
  • 大きい入力ではサマリーを先に表示し、自動比較を無効化できます。

よくある質問

配列内オブジェクトを key で比較できますか?

はい。Match by key(s) を選び、id や sku などのキーを指定します。パスごとに上書きすることもできます。

タイムスタンプや requestId を無視したいです。

Ignore paths に追加するか、サブツリーごとに効かせたい場合はパスルールを使ってください。

一部は順序を無視し、別の場所は順序を残せますか?

はい。パスルールで ignore-order、multiset、match-keys を使い分けられます。

コメント付きJSONを扱えますか?

標準JSONはコメント非対応です。JSONC を受け付けたい場合だけ、解析前のコメント削除をONにしてください。

サーバーに送信されますか?

いいえ。比較、正規化、エクスポートはすべてブラウザ内で完結します。

何を出力できますか?

JSON Patch、JSON Merge Patch、変更パス、Markdown レポートを出力できます。