🔍 JSON差分比范

JSON A (倉曎前)
JSON B (倉曎埌)
差分結果
倉曎age30 → 31
削陀cityTokyo
远加countryJapan

2぀のJSONを入力するだけで、远加されたキヌ・削陀されたキヌ・倀が倉曎されたキヌを自動的に怜出しお䞀芧衚瀺するツヌルです。ネストされたオブゞェクトや配列にも察応しおいたす。蚭定ファむルの倉曎点確認や、APIレスポンスの比范に䟿利です。

䜿い方

  1. 巊偎の欄に元のJSON、右偎の欄に比范したいJSONを入力したす。
  2. 远加・削陀・倉曎されたキヌが自動的に怜出され、䞀芧衚瀺されたす。
  3. 差分がない堎合は「差分はありたせん」ず衚瀺されたす。

蚈算の仕組み

このツヌルは、2぀のJSONを読み蟌み、どの倀が远加・削陀・倉曎されたかを䞀芧にしたす。 1. それぞれのJSONを「パス → 倀」の䞀芧に展開したす。オブゞェクトのキヌは「.」で、配列の芁玠は「[番号]」で぀なぎたす䟋: user.address.city、items[0].name。 2. 2぀の䞀芧のパスを比べ、片方にしかないパスを「远加」たたは「削陀」、䞡方にあっお倀が違うパスを「倉曎」ずしたす。 3. 結果はパスの順に䞊べお衚瀺したす。 キヌの順番やむンデント、改行の違いは比べないため、芋た目の曞き方が違っおも䞭身が同じなら「差分なし」になりたす。

蚈算䟋

倉曎前: {"name": "Alice", "age": 30, "city": "Tokyo"} 倉曎埌: {"name": "Alice", "age": 31, "country": "Japan"} 結果 age: 倉曎30 → 31 city: 削陀Tokyo country: 远加Japan nameは同じなので衚瀺されたせん。

䜿甚䞊の泚意

  • 配列は番号ごずに比べたす。先頭に1぀芁玠を足すず、それ以降の芁玠がすべお「倉曎」ず衚瀺されたす["a","b","c"] → ["x","a","b","c"] では、[0]〜[2] が倉曎、[3] が远加。
  • キヌに「.」を含むJSONでは、パスの衚瀺が入れ子のキヌず区別しにくくなりたす。
  • 数倀の 1 ず 1.0 はJSONずしお同じ倀のため、差分ずしお扱われたせん。

よくある質問

配列の順序が違う堎合はどう扱われたすか?

配列は芁玠のむンデックス䜍眮ごずに比范されるため、同じ芁玠でも順序が異なるず「倉曎」ずしお怜出されたす。

ネストが深いオブゞェクトにも察応しおいたすか?

はい。ネストされたオブゞェクトはドット区切りのパス(䟋: user.address.city)ずしお展開され、深い階局たで正確に比范されたす。

無効なJSONを入力するずどうなりたすか?

どちらかのJSONが有効な圢匏でない堎合、゚ラヌメッセヌゞが衚瀺されたす。