JSON Merge Patch
RFC 7396 の JSON Merge Patch を適用し、何が変わったかを件数で確認。
オブジェクトは再帰的にマージ、null はキーを削除、配列とスカラーは丸ごと置換されます。
使い方
- 左のパネルに元のドキュメントを貼り付けます — 変更対象のオブジェクトです。
- 右のパネルにパッチドキュメントを貼り付けます。削除したいキーは null にします。
- Apply patch を押すと、マージ結果が下に 2 スペースインデントで表示されます。
- 変更件数を読みます。追加・削除・値変更がそれぞれ何件か分かります。
- Copy か Download でエディタや設定パイプラインに戻します。
よくある用途
- PATCH リクエストボディの事前確認 —— 送信前に、そのマージパッチがリソースをどう変えるかを確かめる。
- ネストした設定の編集 —— 触りたいキーだけ書けば、深いオブジェクトは自動で再帰マージされます。
- キーの安全な削除 —— null が削除を意味します。これが単なるマージと RFC 7396 を分ける点です。
- JSON Patch との違いの説明 —— マージパッチには操作リストがなく、配列は常に置換されます。
- 送られてきたパッチの検証 —— 変更件数を見れば、想定より広い範囲を触っていないか分かります。
よくある質問
Q: データはアップロードされますか? A: いいえ。両方のドキュメントはページ内で JSON.parse し、メモリ上でマージします。API ペイロード、トークン入りの設定ファイル、顧客レコードも端末の外に出ません。作業中にリクエストは一切発生しません。
Q: キーを削除するには? A: パッチ側で値を null にします。これが RFC 7396 で唯一の削除手段です。空文字や空オブジェクトではキーは残ります。
Q: 配列がマージされず置換されるのはなぜ? A: マージパッチは配列をスカラーとして扱います。パッチに完全な新しい配列を書くか、要素単位の編集が必要なら操作を持つ JSON Patch(RFC 6902)を使ってください。
Q: パッチ側がオブジェクトで、対象の同じキーがスカラーの場合は? A: スカラーはそのオブジェクトで置き換えられます。再帰するのは両側がオブジェクトのときだけです。
Q: 元のドキュメントは配列でもよいですか? A: RFC 7396 が定義するのはオブジェクト同士のマージです。ルートが配列の場合、パッチは空オブジェクトに対して適用されるため、結果はほぼパッチそのものになります。想定外を避けるならオブジェクトから始めてください。
データはこのデバイス内にとどまります
JSON Merge Patch は 100% ローカルで動作します。貼り付けたり、ドロップしたデータはすべてお使いのブラウザ内で処理され、送信されることはありません。当社のサーバーには何も保存されません——タブを閉じればすべて消えます。
入力された内容がサーバーへ送信・記録・解析利用されることはありません。初回読み込み後はネットワークを切断していてもこのページは動作します。