JSON 比較

2 つの JSON をオンラインで比較:キー順とインデントを無視し、追加・削除・変更を JSONPath 単位で列挙、データは送信されません

最終更新日時
My tools
No tools yet

読み込み中...

2 つの JSON をオンラインで比較する方法

  1. 1

    2 つの JSON を貼り付けるか開く

    比較したい 2 つの JSON を左右のペインに入れるか、ローカルの .json ファイルを開きます。内容はブラウザー内に留まり、送信されません。

  2. 2

    構造化された差分リストを見る

    まず両側を正規化し(既定でキー順とインデントを無視)、追加・削除・変更を 1 件ずつ JSONPath と両側の値付きで並べます。

  3. 3

    差分表示で確認して書き出す

    リストの行をクリックすると差分表示の該当箇所へ移動します。確認したら差分をコピーするか .patch ファイルとして保存できます。

機能概要

2 つの JSON をオンラインで比較し、本当に変わった箇所だけを取り出します。既定でキーの順序とインデントは無視するため、{"a":1,"b":2} と {"b":2,"a":1} は同一と判定されます。並列の差分表示に加えて構造化リストも出力し、各行は JSONPath と両側の値なので「42 行目が変わった」ではなく「$.data[3].price が変わった」と分かります。大きな整数や 2.370 の末尾のゼロはバイト単位でそのまま残ります。処理はすべてブラウザー内で完結し、データは送信されません。

ツールの説明

2 つの JSON を貼り付けるだけで本当の差分が分かります。既定でキー順とインデントを無視し、構造化リストが追加・削除・変更を JSONPath と両側の値で示します。並列表示と統合表示を切り替えられ、大きな整数の精度も保たれ、処理はすべてブラウザー内で完結します。

機能一覧

  • JSON 比較は既定でキー順とインデントを無視し、意味的に本当に違う点だけを報告します
  • 構造化された差分リスト:追加・削除・変更を 1 件ずつ、JSONPath と両側の値付きで表示
  • 並列表示と統合表示の 2 種類。リストの行をクリックすると差分の該当箇所へ移動します
  • 配列要素の順序や大文字小文字を無視する切り替え、差分のみ表示と全文表示の切り替え
  • 大きな整数と 2.370 の末尾のゼロはバイト単位で保持され、JavaScript の数値精度で壊れません
  • 両側とも貼り付け・ファイル読み込み・左右入れ替えに対応。差分はコピーまたは .patch として保存できます
  • どちらかが不正な JSON のときは「形式エラー」ではなく正確な行と列を示します
  • すべてブラウザー内で処理:ログイン不要、広告なし、データ送信なし

関連ツール

よくある質問

2 つの JSON をオンラインで比較するには?
左右のペインにそれぞれ貼り付ければ自動で比較されます。既定でキー順とインデントの違いは無視するため、書式が違うだけで内容が同じ 2 つのデータは同一と判定されます。
JSON 比較と普通のテキスト比較は何が違いますか?
テキスト比較は行単位で、キー順やインデントの違いも差分として扱い、「42 行目が変わった」までしか言えません。JSON 比較は構造を正規化してからパスで比べるので、$.data[3].price が何から何に変わったかを直接示せます。
キーの順序が違うと差分になりますか?
既定ではなりません。{"a":1,"b":2} と {"b":2,"a":1} は同一と判定されます。キー順も差分として扱いたい場合は比較オプションで「キー順を無視」をオフにしてください。
配列要素の順序が違う場合は?
JSON の配列は順序を持つため、既定では差分になります。必要に応じて「配列要素の順序を無視」を有効にできますが、その場合の差分表示は入力した順序ではなく並べ替え後の正規形です。
大きな整数の精度は失われますか?
失われません。比較処理は元のテキストを移動するだけで、JSON を JavaScript の数値に変換して戻すことは一切しないため、9123372036854000123 も 2.370 の末尾のゼロもそのまま結果に現れます。
データは送信されますか?どのくらいのサイズまで比較できますか?
送信されません。解析も比較もブラウザー内で行われます。片側あたり 2 MB までです。それを超える場合は JSON フォーマッターで圧縮するか、ローカルのツールをお使いください。