開発者ツール

JSON差分比較

2つのJSONを、テキストではなく構造で比較します。

JSON差分比較 お使いのデバイス上で実行
  • ブラウザ上で動作します — テキストはどこにも送信されません
  • 登録不要、利用回数の上限なし、何度でも無料で使えます

仕組み

2つのJSONペイロードを通常のテキスト差分で比較するとノイズだらけになります。キーの順序の違い、インデントの違い、末尾のカンマが、実際には何も変わっていないのに変更として表示されます。代わりに解析後の構造を比較すれば、本当に違う部分だけが分かります。

文字ではなく意味を比較します

両方のドキュメントを解析し、値ごとに比較します。オブジェクトには本来の順序がないので、キーの順序と空白は関係ありません。同じ内容を表す2つのドキュメントは、書き方がどれほど違っても同一と報告されます。

出力の読み方

+で始まる行は2つ目のドキュメントにだけ存在し、−は1つ目にだけ存在し、~は両者で値が異なり、両方の値が表示されます。パスで場所が分かります。オブジェクトのキーはドット、配列の位置は角括弧で示すので、response.items[2].priceのようにフィールドを正確に指します。

配列は位置で比較されます

3番目の要素は3番目の要素と比較されます。順序のあるデータには正しい動作ですが、順序のない集合には適しません。同じ項目で順序だけが入れ替わったリストは、多数の変更として表示されます。データの順序に意味がない場合は、先に両方を並べ替えてください。

ローカルで動作する理由

APIのペイロードには、トークン、顧客の記録、内部の識別子がよく含まれます。それを2つとも外部の比較サービスに貼り付けると、すべてを渡してしまいます。ここでは、両方のドキュメントがページ内で解析・比較されます。

よくある質問

JSON差分比較に関するよくある質問

キーの順序は影響しますか?

いいえ。オブジェクトには本来の順序がないため、キーの順序が入れ替わっていても差分としては報告されません。

配列はどのように比較されますか?

位置で比較します。順序が入れ替わったリストは多数の変更として表示されるので、順序に意味がない場合は先に両方を並べ替えてください。

記号は何を意味しますか?

+は2つ目のドキュメントにだけ存在し、−は1つ目にだけ存在し、~は両者で異なることを表します。

データはアップロードされますか?

いいえ。両方のドキュメントはブラウザ上で解析・比較されます。