JSON 比較

2 つの JSON を構造で比較。キーの順序は無視し、数値は値で比較して、追加・削除・変更された項目をパス付きで一覧表示します。

差分

左右に JSON を入力すると、差分が表示されます。

種類 パス 変更前 変更後

行をクリックすると、左右の該当箇所が強調表示されます。

JSON 比較とは?

一般的なテキスト比較では、整形やインデント、キーの順序が違うだけで多くの差分が表示されてしまいます。このツールは両方を JSON の構造として解析してから比較し、本当に変わったデータだけを一覧表示します。API のリリース前後のレスポンスや、2 つの環境の設定ファイルの比較に便利です。

使い方

  1. 左に変更前の JSON、右に変更後の JSON を貼り付けます。「自動比較」がオンなら、すぐに差分が表示されます。
  2. 各差分には種類(追加・削除・変更)と JSON Path(例:$.order.items[0].price)が表示されます。
  3. 差分をクリックすると左右の該当箇所が強調表示されます。「レポートをコピー」でプルリクエストや資料に貼り付けられます。

比較のルール

例

変更前 {"name":"Keyboard","price":980.00,"tags":["office","usb"]}、変更後 {"price":980,"name":"Keyboard Pro","tags":["office","bluetooth"],"color":"black"} のレポートは次のとおりです:

~ $.name: "Keyboard" → "Keyboard Pro"
~ $.tags[1]: "usb" → "bluetooth"
+ $.color: "black"

price は 980.00 から 980 になりましたが、値は同じなので表示されません。

よくある質問

レポート先頭の + - ~ の意味は?

+ は右側で追加された項目、- は右側で削除された項目、~ は両方にあるが値が違う項目です。矢印の左が変更前の値、右が変更後の値です。

配列の順序を入れ替えただけで差分が多く出るのはなぜ?

JSON の配列には順序があり、[1, 2] と [2, 1] は別のデータなので、位置ごとに比較します。順序が重要でない場合は、JSON を出力するプログラム側で並べ替えてから比較してください。

片方が正しい JSON でない場合は?

メッセージに左右どちらが誤っているかと、その行・列が表示されます。「エラー位置へ移動」で該当箇所を確認できます。カンマの過不足などは JSON 整形の「修復」で直せます。