オブジェクトはキー単位で追える
片方だけにあるキーはadded/removed、両方にあって値が違う箇所はchangedとして、その階層pathを表示します。
無料Webツール
2つのJSONを比較し、追加・削除・変更されたパスを一覧化します。
JSON AとJSON Bを比較し、追加・削除・変更されたパスを一覧化します。APIレスポンス、設定ファイル、保存データなど「構造のどこが変わったか」を確認する用途です。
{"name":"A","count":1} と {"name":"B","count":1,"active":true} を比べると、$.name がchanged、$.active がaddedになります。配列は「同じ内容を別位置へ移動した」と認識するのではなく、indexごとに比較します。配列先頭へ1件追加すると、その後の多くの要素が変更として見えることがあります。
片方だけにあるキーはadded/removed、両方にあって値が違う箇所はchangedとして、その階層pathを表示します。
文字列→数値、object→arrayのように値の種類自体が変わった場合は、内部を細かく比較せずそのpathの変更として出します。
LCSやIDベースの移動検出ではありません。要素の挿入・並び替えが多いデータでは差分件数が大きくなりやすいです。
コメント付きJSON、末尾カンマ、JavaScriptオブジェクト表記はそのままでは解析できません。標準JSONへ直してから比較してください。
結果をダウンロードして、レビュー記録や後続スクリプトへ渡せます。ただしパッチ適用形式そのものではありません。