仕様と根拠

パスの書き方(JSON Pointer)

RFC 6901 は、JSON の中の場所を、/ で始まる参照トークンをつないだ文字列で表すとしています。項目名の中の ~ は ~0、/ は ~1 と書きます(a/b という項目名は /a~1b)。配列の要素は先頭を 0 とする添字で、全体を指すときは空の文字列です。このツールでは全体を(全体)と表示します。

差の判定

オブジェクトは項目名ごと、配列は同じ位置の添字ごとに比べます。片方にしかない項目や、右の配列の末尾に増えた要素は追加、左にしかないものは削除です。同じ種類の値で中身が違えば変更、値の種類(RFC 8259 3 節の文字列・数値・真偽値・null・配列・オブジェクト)が変わっていれば型の変化とし、それ以上は中を比べません。オブジェクトの項目の並び順は差になりません。

構文エラーのとき・注意点

左右どちらかの JSON が RFC 8259 の文法に合わないと、比べられません。エラーが出た側と、何行目の何列目かを示します。同じオブジェクトに同じ項目名が重複しているときは、最後の値だけで比べて警告します。配列の途中への挿入があると、それ以降の要素は変更として並ぶので、指摘で知らせます。

根拠にした仕様・資料

仕様・資料と確認日
仕様・資料確認日使った箇所
RFC 6901 JavaScript Object Notation (JSON) Pointer2026年10月28日3 節(構文と ~0・~1 のエスケープ)・4 節(評価。配列の添字は先頭ゼロなしの数字)
RFC 8259 The JavaScript Object Notation (JSON) Data Interchange Format2026年10月28日3 節(値の種類)・4 節(オブジェクトの項目と重複)・6 節(数)

指摘の段階

入力の扱い(送信しない仕組み)

処理はすべてお使いのブラウザの中で行います。処理の本体はこのサイトから配信する小さなスクリプト(/app.js)で、外部のサービスやライブラリを読み込みません。ページはブラウザに通信を禁止させる設定(Content-Security-Policy の connect-src)つきで配信しており、入力した内容がサーバーや第三者へ送られることはありません。ファイルを選んだ場合も、端末の中で読み込むだけです。

このツールでできないこと(制約)

ご利用にあたって

  • 比較の対象は JSON の構文と値の型・中身に限ります。項目の意味や、変更が正しいかどうかは判断しません。
  • 大きな JSON はお使いの端末の性能によって処理に時間がかかることがあります。