使い方
- 左に元の JSON、右に変更後の JSON を貼り付けます。
- 配列の順序を考慮するかどうかを選びます。
- 追加(+)、削除(−)、変更(~)された値の一覧を確認するか、レポートとしてコピーします。
オプションの説明
- 位置で比較
- 配列の要素を 1 つずつ順に比較します。そのため、先頭に要素を挿入すると、それ以降のすべての位置が変更として扱われます。
- 順序を無視
- 配列を順序のない集合として扱い、片方にだけ存在する要素のみを報告します。ID やタグ、レコードのリストに便利です。
- パス
- パスは JSONPath 記法で表します。$ はルート、.key はプロパティ、[0] は配列の要素、["a b"] は通常の名前ではないキーを表します。
例
キーの順序が異なり、一部の値が違う、次の 2 つのドキュメントを例にします。
{"name": "Ada", "age": 36, "tags": ["x", "y"], "address": {"city": "Rome"}, "first name": "A"}
{"age": 37, "name": "Ada", "tags": ["y", "x"], "address": {"city": "Rome", "zip": "00100"}, "first name": "B", "role": "admin"}
位置で比較した結果は次のとおりです。
| 変更 | パス | 変更前 | 変更後 |
|---|---|---|---|
| ~ | $.age |
36 | 37 |
| ~ | $.tags[0] |
“x” | “y” |
| ~ | $.tags[1] |
“y” | “x” |
| + | $.address.zip |
“00100” | |
| ~ | $["first name"] |
“A” | “B” |
| + | $.role |
“admin” |
「順序を無視」をオンにすると、2 つの配列は同じ 2 つの値を持つため、tags の 2 件の変更はなくなります。キーの順序は、どちらのモードでも影響しません。数値が文字列になる、オブジェクトが配列になるなど、型が変わった値は、そのパスの 1 件の変更として報告されます。
よくある質問
テキストの差分と何が違いますか?
テキストの差分は行単位で比較するため、書式やキーの順序の違いも変更として表示されます。JSON 比較は両方を解析し、データそのものを比較します。
1 と "1" は同じものとして扱われますか?
いいえ。数値と文字列は異なる JSON の値なので、両方の値とともに変更として報告されます。
データはアップロードされますか?
いいえ。2 つのドキュメントはブラウザ内で比較されます。
プライバシー
このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。