JSONツール

JSON比較— 行ではなく、値の変更を確認

左右にJSONを貼り付けると、入力が止まった後に結果を更新します。自動比較をオフにすると手動で比較できます。

JSON比較

+ 追加: 2− 削除: 1変更: 7

更新済み

1 / 10

読み取り専用:比較ルールに従って書式とレコードの順序を揃え、除外パスを非表示にします。原文は変更されません。

− 変更前のJSON/users/0/id
+ 変更後のJSON/users/0/id

比較を読み込み中…

{
  "users": [
    {
      "id": 1,
      "name": "Ada",
      "role": "reader"
    },
    {
      "id": 2,
      "name": "Lin",
      "role": "editor"
    }
  ],
  "version": 1,
  "updatedAt": "2026-09-01"
}
{
  "users": [
    {
      "id": 2,
      "name": "Lin",
      "role": "admin"
    },
    {
      "id": 1,
      "name": "Ada",
      "role": "reader"
    },
    {
      "id": 3,
      "name": "Sam",
      "role": "reader"
    }
  ],
  "updatedAt": "2026-09-10",
  "active": true
}

入力はこのブラウザタブ内で処理され、送信も永続保存もされません。

構造の詳細 (10)
  • ルート
    • users
      • 0
        • 変更

          変更前のJSON /users/0/id

          1

          変更後のJSON /users/0/id

          2
        • 変更

          変更前のJSON /users/0/name

          "Ada"

          変更後のJSON /users/0/name

          "Lin"
        • 変更

          変更前のJSON /users/0/role

          "reader"

          変更後のJSON /users/0/role

          "admin"
      • 1
        • 変更

          変更前のJSON /users/1/id

          2

          変更後のJSON /users/1/id

          1
        • 変更

          変更前のJSON /users/1/name

          "Lin"

          変更後のJSON /users/1/name

          "Ada"
        • 変更

          変更前のJSON /users/1/role

          "editor"

          変更後のJSON /users/1/role

          "reader"
      • 追加

        変更前のJSON

        存在しません

        変更後のJSON /users/2

        {"id":3,"name":"Sam","role":"reader"}
    • 削除

      変更前のJSON /version

      1

      変更後のJSON

      存在しません
    • 変更

      変更前のJSON /updatedAt

      "2026-09-01"

      変更後のJSON /updatedAt

      "2026-09-10"
    • 追加

      変更前のJSON

      存在しません

      変更後のJSON /active

      true

設定JSONを整形しただけで、レビュー画面が変更だらけになることがあります。このJSON比較ツールはキーと値をたどるため、インデントの違いで重要な変更が埋もれません。

JSON差分を確認するときは、配列の順序が仕様の一部かどうかを先に決めます。サンプルのJSON Diffを位置照合からキー照合に切り替えると、ユーザーの並べ替えと権限変更を分けて確認できます。JSON比較の結果は、値が変わった項目だけを一覧にします。

JSONの重要な変更を見つける

並び順が変わっても同じレコードを対応付ける

APIが同じレコードを別の順序で返すことがあります。各オブジェクトに一意のidがあれば、キーによる比較でレコードを対応付けてからフィールドを確認できます。単なる並べ替えに惑わされず、権限などの変更を確認できます。順序自体に意味がある場合は位置による比較を使います。

同じ形の識別子が並べ替えられたレコードを結び、変更されたフィールドを琥珀色で示しています。

毎回変わるフィールドを確認対象から外す

更新されるたびに変わるupdatedAtは、設定変更の確認を妨げることがあります。/updatedAtを除外すると、そのフィールドと子要素を比較せず、ほかの差分を確認できます。除外には正確なJSON Pointerパスを使い、確認不要な分岐だけを指定してください。

二つのデータツリーでタイムスタンプを薄く表示し、別の分岐の変更を強調しています。

3ステップで差分を確認

01

変更前後のデータを入力

左右のエディターに有効なJSONを貼り付けるか、サンプルを読み込んで結果ツリーを確認します。自動比較では入力が落ち着くと結果が更新されます。

02

レコードの対応方法を選択

順序付きリストは位置で比較し、オブジェクト配列はidなどの一意のキーで比較します。除外するフィールドは /updatedAtなどの正確なパスを1行ずつ入力します。

03

差分を確認してレポートを保存

「比較を表示」に切り替えると、削除は赤、追加は緑で表示されます。差分を順に移動するか、構造の詳細で元のパスを確認し、レポートをコピーまたはダウンロードします。

変更を追いやすい表示

階層をたどって確認

差分のある枝を展開し、変更前後の値を並べて確認できます。各項目にはJSON Pointerを表示。キー照合で位置が変わった場合も、左右それぞれの元のパスが分かります。

IDで配列要素を照合

表示順などが重要な配列は位置で、レコードの同一性が重要な配列はidなどの直接プロパティで比較します。キー照合では並び替えだけなら変更になりません。

条件ごとレポート保存

追加・削除・変更の件数と比較条件をJSONでコピーまたは保存できます。値はJSON原文の文字列として記録するので、長い整数の桁が読み込み時に失われません。

比較時のルール

厳密なJSONだけを受け付けます
コメント、末尾のカンマ、重複キーはエラーです。文字列と数値、nullと未定義のキーは区別します。1と1.0のように同じ数値を表す表記は、浮動小数点に変換せず等しいと判定します。
照合キーには一意性が必要です
各オブジェクトに文字列または数値のキーが必要です。同じ配列内の重複や欠落、オブジェクトとプリミティブの混在はエラーになります。オブジェクトを含まない配列は位置で比較。数値の1と文字列の"1"は別のIDです。
除外にはJSON Pointerを使います
/updatedAtのように1行に1パスを入力すると、その配下も除外します。キー内の/は~1、~は~0です。ワイルドカードやJSONPathには非対応。キー照合では左右どちらかのインデックスパスに一致すると、その組を除外します。
件数は変更された枝の数です
サブツリー全体の追加・削除と型の置換はそれぞれ1件です。移動操作は出力しません。保存したファイルは確認用のレポートで、RFC 6902のパッチとして適用できません。 内部に除外パスがある場合、追加・削除されたコンテナを展開し、除外されていない子要素を数えます。
入力と表示の上限
片側500,000 UTF-16コード単位、50,000ノード、深さ100まで。数値トークンは1,000文字までです。差分が5,000件を超えると部分結果を出さず停止します。表示は100件ずつ追加でき、保存には全件を含めます。

JSON比較のよくある質問

2つのJSONを比較する方法は?

変更前後のJSONを貼り付けると、入力が約400ms止まった後に自動比較します。自動比較をオフにした場合は比較ボタンを使います。未更新のレポートはコピー・保存できません。

構造比較とテキスト比較の違いは?

テキスト比較は行や文字の並びを見ます。ここではJSONとして読んだ後に値と型を比べ、書式の変更を差分から外します。文字列内の空白は比較対象です。

キーの並び替えは変更になりますか?

なりません。キー名で対応付けるので、順序やインデントだけが違う文書は同じと判定されます。

配列が並び替わっているときは?

既定では位置ごとに比較します。オブジェクトの配列なら一意のidなどで照合できます。文字列や数値だけの配列は、キー方式でも位置比較のままです。

大きな整数も正確に比べられますか?

はい。数値の原文を保ち、十進数の値を正確に照合します。隣り合う大きな整数も区別され、レポートにも元の桁が文字列として残ります。

比較結果に問題がありましたか?

JSON比較で値の変更を確認

サンプルを読み込み、位置照合とキー照合を切り替えると、JSON比較が並べ替えをどう扱うか分かります。