両側の入力はブラウザ内で完全に処理され、アップロードされません。
JSON 比較とは?
JSON 比較ツールは、2 つの JSON ドキュメントを比較し、両者の差分(追加されたプロパティ、削除されたプロパティ、変更された値)をハイライト表示します。プレーンテキスト diff(git diff など)は再フォーマットされた行をすべて変更扱いしますが、構造を理解した JSON diff は {"a":1,"b":2} と {"b":2,"a":1} を同じオブジェクトと認識し、整形版と圧縮版が意味的に等しいことも判別できます。これは API レスポンスの変更追跡、環境間のコンフィグドリフト調査、フィーチャーフラグの段階的ロールアウト検証、突然壊れたテスト fixture のデバッグ、外部連携が実際に送ってくるデータの監査に不可欠です。 DevFormatLab の JSON 比較は 1 つのワークスペースに 2 つのビューを併設します。テキストビューは LCS アルゴリズムによる定番の左右赤緑比較で、スクショ共有やスニペット転載に向きます。構造ビューは差分をパスのリスト(例:$.user.email、$.items[3].price)に蒸留し、各項目を追加 / 削除 / 変更でタグ付け、RFC 6902 準拠の JSON Patch ドキュメントとして書き出せます — 任意の標準ライブラリでプログラム的に再適用可能です。既定でオブジェクトキーをソートしてから比較するためプロパティ順による誤検知が起きず、オプションの「Ignore array order」を有効にすれば、タグや権限 ID のような順序を持たない集合も正しく比べられます。両側の入力はブラウザ標準の JSON.parse でパースし、メモリ上で比較してローカルに描画するだけ — ページ読み込み後は一切のネットワークリクエストを発行しないので、本番のシークレットや顧客データもそのままデバイスに留まります。
機能
- 並べて表示するテキストビュー(行単位の赤緑ハイライト)
- 構造ビュー:変更パスのリスト + 追加 / 削除 / 変更タグ
- RFC 6902 JSON Patch エクスポート — 標準ライブラリで再適用可能
- キーソートのオプションで順序違いを差分扱いしない
- Ignore array order:タグ・ロール ID 等の順序なし集合に最適
- 両ペインで縦・横スクロール同期
- 両側で個別に厳格な JSON 検証・個別エラー表示
- 100% ブラウザ内処理 — JSON データはデバイスを離れません
使い方
- 左に元の JSON、右に変更後の JSON を貼り付けます。整形済みでも圧縮済みでも、内部で再フォーマットしてから比較するので問題ありません。
- 「Sort keys」を有効(既定)のままにすると、オブジェクトプロパティの順序に依存しない比較になります。順序自体が契約の一部であるときだけ無効にします。
- タグや権限リストなど順序を持たない集合の場合は「Ignore array order」を ON に — 両側の配列を再帰的にソートしてから比較します。
- 下部に色付きの並べて表示される差分が出ます:赤行は削除、緑行は追加、変更なしの行はニュートラル。同期スクロールで長文書もナビゲートできます。
- 構造ビューに切り替えると、変更パスのコンパクトな一覧とライブの RFC 6902 patch が見えます。Export Patch で patch.json をダウンロード可能。
- Swap で比較方向を反転、Format both で両側をその場で 2 スペース整形できます。
よくある質問
JSON データはサーバーに送信されますか?
▾
いいえ。両側の JSON は完全にブラウザ内で解析・比較されます。アップロードは行われません。
なぜキーの並び替えは既定で差分として表示されないのですか?
▾
JSON のオブジェクトキーは仕様上順序を持たないため、DevFormatLab は比較前のシリアライズ時にキーをソートします。順序が重要な用途ではこの動作を無効化できます(開発予定)。
ネストしたオブジェクトや配列はどう比較されますか?
▾
両側を 2 スペースインデントで整形し、LCS アルゴリズムで行単位に比較します。ネスト構造は複数行に展開されるため、変更箇所が明確に局所化されます。
サイズ制限はありますか?
▾
比較は行数 n × m の計算量です。各側 5,000 行を超える非常に大きな JSON では一時的に重くなる可能性があります。一般的な API ペイロードや設定ファイルは瞬時に表示されます。
配列の要素順の変更は差分として検出されますか?
▾
はい。JSON では配列は順序を持つため、要素順の変更は差分として扱われます。順序を無視したい場合は事前に配列をソートしてください。
関連ツール
JSON の整形・圧縮・検証・美化。エラー位置をハイライト。
重複・空行の削除、空白トリム、UTF-8/Shift-JIS 変換、文字化け検出。
YAML、JSON、Java .properties の相互変換と検証に対応。
テキストやファイルを Base64 / Base64URL でエンコード・デコード。リアルタイム、ブラウザ内処理。
URL、クエリ文字列、URI コンポーネントをエンコード/デコードします。%20 と + の空白処理に対応。
テキストまたはファイルの MD5、SHA-1、SHA-256、SHA-384、SHA-512 ハッシュをブラウザー内で生成します。
Unix タイムスタンプ(秒 / ミリ秒)と人間が読める日付をタイムゾーン横断で相互変換。
JWT (JSON Web Token) をデコードし、ヘッダー / ペイロード / 署名を確認。時刻クレームは読みやすい日付と有効期限ステータスで表示。
正規表現のリアルタイムテスト、マッチのハイライト、サンプル集。
JSON をソースコードに埋め込める文字列リテラルに変換します(ダブルクォートとバックスラッシュをエスケープ)。
Canonical: https://devformatlab.com/ja/json-diff