JSON差分ツール
2つのJSON入力をそれぞれ解析・整形後にLCSベースの行単位diffを実行します。追加は緑、削除は赤で表示。比較前のキーソートも選択可能。
2つのJSONを解析して整形し、必要に応じてオブジェクトのキーを再帰的に並べ替えたうえで行単位の差分を表示します。追加・削除・同一行を見分けられます。
2つのJSONを比較する方法
- 左側に1つ目のJSONを入力します。
- 右側に2つ目のJSONを入力します。
- プロパティ順を正規化したい場合はキーの並べ替えを有効にします。
- 比較を実行して追加・削除行を確認します。
- 無効なJSONが報告された場合はその入力を修正します。
正規化と差分計算の仕組み
各入力はJSON.parseで解析され、2スペースのインデントで再シリアライズされます。キーの並べ替えを有効にするとオブジェクトのキーは再帰的にソートされますが、配列の順序は保持されます。
通常はLCSベースの行差分を使用します。2つの行数の積が200,000を超える場合は大きな計算表を避け、左側の全行を削除、右側の全行を追加として表示する簡易フォールバックを使います。
プライバシーと制限
比較はブラウザ内でローカルに実行され、JSONを処理目的で意図的にアップロードしません。JSON Patch生成器ではなく、正規化したテキストの行差分です。大きな文書では簡易フォールバックが使われ、配列要素の順序は常に意味のある差として扱われます。
よくある質問
オブジェクトのキー順は差になりますか?
キーの並べ替えを有効にすると、順序だけの違いは正規化されます。
配列も並べ替えますか?
いいえ。配列の順序は保持されます。
無効なJSONの場合は?
左または右のどちらが無効かをエラーで示します。
大きな比較が粗く見える理由は?
行数の積が200,000を超えるとLCSではなく簡易フォールバックを使うためです。
JSON Patchを生成しますか?
いいえ。読みやすい行差分のみを表示します。