キー順のノイズなしでJSONを比較
キーを並べ替えると、1つの値の変更が隠れることがあります。配列の順序を意味のある状態に保ちながらデータを比較します。
2つのJSONレスポンスが同じデータを含んでいても、一方のエクスポーターがキーの順序を変えるだけで、見た目がまったく異なることがあります。両方をフォーマットし、オブジェクトのキー順序を無視することで、実際の値の変更を見つけやすくします。
テキスト&JSON比較で、JSONを選択し、最初のレスポンスをオリジナルに、2つ目を更新日に貼り付け、オブジェクトのキー順序を無視をオンにしたままにします。比較は自動的に更新されます。
キー順序のノイズを除去
次の2つのバージョンを試してください:
{"name":"Launch","settings":{"public":true,"retries":3},"steps":["draft","review","publish"]}
{"steps":["draft","review","publish"],"settings":{"retries":3,"public":true},"name":"Launch"}
キーはトップレベルとsettings内の両方で移動しています。このオプションをオンにすると、結果は違いなしになります。オフにすると、それらの移動が再び表示されます。JSONモードはどちらの場合も両側をフォーマットするため、インデントだけでは変更は発生しません。
オリジナル、並べ替えられたレスポンス、正規化されたバージョンをダウンロードできます。キーの並べ替えは比較表示に影響しますが、貼り付けた内容を上書きすることはありません。
配列は元の順序を維持
オブジェクトは名前付きの値の集合であり、配列は順序付けられたシーケンスです。この区別はJSON仕様の一部です。
更新日の配列を次のように置き換えます:
["review","draft","publish"]
ツールは、オブジェクトのキー順序を無視していても、変更を表示します。レビューをドラフトの前に移動することは、このワークフローにとって意味のある変更です。配列並べ替えレスポンスを使えば、大きな例を編集せずに試せます。
アプリケーションが明示的に順序なしコレクションとして扱わない限り、差分をなくすために配列を並べ替えないでください。表示順序、優先度、処理順序がそれに依存する場合があります。
次に変更された値を探す
値変更レスポンスを更新日に読み込みます。キーは並べ替えられていますが、retriesも3から4に変更されています。キー順序のノイズを取り除くと、残る差分はその設定だけです。
画面に十分なスペースがある場合は並べて表示を使用します。インラインは削除された行と追加された行を1つの列に保つため、通常はスマートフォンで読みやすくなります。マイナスとプラスのマーカーは、色だけに頼らずに変更を区別するのに役立ちます。
並べ替えでは、文字列内のスペースは削除されません。"Launch "のような値は"Launch"とは依然として異なります。
「違いなし」の意味を理解する
これはフォーマットされたテキスト比較であり、JSONの等価性をテストする普遍的なものではありません。数値の表記と文字列エスケープを保持します:1と1.0は依然として異なり、"a"と"\u0061"も同様です。多くのアプリケーションが各ペアを同じ値として解釈しても、違いは残ります。
重複するキーは、一方の値を黙って破棄するのではなく、JSON比較を停止させます。JSONフォーマッタを使用して、再比較する前にそれらを見つけて解決してください。オリジナルまたは更新日の横のエラーは、どの入力に注意が必要かを示します。
2026年10月12日に、ツールで使用されているものと同じJSONパーサーとフォーマッタでサンプルを確認しました:並べ替えられたキーはソートをオンにすると一致しますが、変更された配列、値、数値表記、エスケープ表記は一致しません。結果ファイルには、6つの比較すべてとファイルハッシュが記録されています。