JSON差分ツール

2つのJSON入力をそれぞれ解析・整形後にLCSベースの行単位diffを実行します。追加は緑、削除は赤で表示。比較前のキーソートも選択可能。

ブラウザローカル 登録不要 JSON

2つのJSONを解析して整形し、必要に応じてオブジェクトのキーを再帰的に並べ替えたうえで行単位の差分を表示します。追加・削除・同一行を見分けられます。

2つのJSONを比較する方法

  1. 左側に1つ目のJSONを入力します。
  2. 右側に2つ目のJSONを入力します。
  3. プロパティ順を正規化したい場合はキーの並べ替えを有効にします。
  4. 比較を実行して追加・削除行を確認します。
  5. 無効なJSONが報告された場合はその入力を修正します。

正規化と差分計算の仕組み

各入力はJSON.parseで解析され、2スペースのインデントで再シリアライズされます。キーの並べ替えを有効にするとオブジェクトのキーは再帰的にソートされますが、配列の順序は保持されます。

通常はLCSベースの行差分を使用します。2つの行数の積が200,000を超える場合は大きな計算表を避け、左側の全行を削除、右側の全行を追加として表示する簡易フォールバックを使います。

プライバシーと制限

比較はブラウザ内でローカルに実行され、JSONを処理目的で意図的にアップロードしません。JSON Patch生成器ではなく、正規化したテキストの行差分です。大きな文書では簡易フォールバックが使われ、配列要素の順序は常に意味のある差として扱われます。

よくある質問

オブジェクトのキー順は差になりますか?

キーの並べ替えを有効にすると、順序だけの違いは正規化されます。

配列も並べ替えますか?

いいえ。配列の順序は保持されます。

無効なJSONの場合は?

左または右のどちらが無効かをエラーで示します。

大きな比較が粗く見える理由は?

行数の積が200,000を超えるとLCSではなく簡易フォールバックを使うためです。

JSON Patchを生成しますか?

いいえ。読みやすい行差分のみを表示します。