JSON Diff - JSON比較・差分チェックツール

テキストツール

2つのJSONデータを入力して比較ボタンを押すと、差分がハイライト表示されます。

結果:

0 difference(s) between the two JSON documents.

JSON差分比較について

差分結果の読み方

差分結果は、2つのJSONドキュメント間の変更点を記号と色で表示します。

記号操作意味
+ (緑)追加 (ADD)2番目のJSONに存在し、1番目のJSONには存在しないキーまたは値です。
- (赤)削除 (REMOVE)1番目のJSONに存在し、2番目のJSONには存在しないキーまたは値です。
- / + (赤→緑)更新 (UPDATE)値が変更されました。古い値が赤、新しい値が緑で表示されます。

主な活用シーン

JSON差分比較は、構造化データを扱う開発者にとって欠かせないツールです。

  • APIレスポンスの比較 — 異なるバージョンや環境のAPIレスポンスを比較して、破壊的変更を検出します。
  • 設定ファイルの変更確認 — ステージング環境と本番環境の設定差分を確認します。
  • データマイグレーションの検証 — 移行前後のレコードを比較して、データの整合性を確認します。
  • コードレビュー — JSON形式のフィクスチャやテストデータの変更箇所を素早く特定します。

正確な比較のためのヒント

より正確な差分結果を得るためのヒントです。ツールは比較前にJSONを自動整形しますが、正しい入力で結果の解釈がしやすくなります。

  • 両方の入力が正しいJSONであることを確認してください。パースに失敗するとシンタックスエラーが表示されます。
  • キーの順序は差分に影響しません。値と構造の違いのみが検出されます。
  • 配列はインデックスで比較されます。要素の並び替えは変更として検出されます。
  • ネストされたオブジェクトは再帰的に比較されます。どの深さの差分も検出されます。

用語集

JSON について
JSON (JavaScript Object Notation) は、異なるコンピューターシステム、アプリケーション、およびプログラミング言語間でデータを交換するために使用されるテキストベースのデータ交換フォーマットです。
JSONPath
JSONPathは、XMLに対するXPathのように、JSONドキュメントから特定の要素を選択・抽出するためのクエリ言語です。$.store.book[0].titleのようなパス式で要素を指定できます。
差分アルゴリズム
差分アルゴリズムは、あるデータ構造を別のデータ構造に変換するために必要な最小限の変更セットを計算します。JSONの場合、オブジェクトや配列を再帰的に比較して、すべてのネストレベルで追加・削除・値の更新を検出します。
ネストされたオブジェクト
ネストされたオブジェクトとは、別のオブジェクトの値として含まれるJSONオブジェクトのことです。例えば {"user": {"name": "Alice"}} にはネストされたオブジェクトがあります。JSON diffツールはネスト構造を再帰的に比較し、任意の深さで変更を検出します。
JSONスキーマ
JSONスキーマは、JSONドキュメントの構造、データ型、制約を定義するための仕様です。APIの契約検証やデータ品質保証に活用され、期待されるJSON形式を明確に記述できます。

よくある質問

Q: このツールでデータは安全ですか?
A: はい。すべての比較処理はブラウザ上のJavaScriptで完結しています。JSONデータがサーバーに送信されることは一切ありません。
Q: キーの順序は比較結果に影響しますか?
A: いいえ。JSON仕様上、オブジェクトのキーに順序はないため、{"a":1,"b":2} と {"b":2,"a":1} は同一と見なされます。実際の値の違いのみが表示されます。
Q: JSON配列も比較できますか?
A: はい。オブジェクトだけでなくJSON配列も比較できます。配列はインデックス(位置)ごとに要素が比較されます。

関連ツール & ゲーム