JSON Diff su rūšiuotais raktais – nepaisykite raktų tvarkos
Palyginkite dvi JSON apkrovas pagal struktūrą, o ne pagal tekstą: peržiūrėkite kiekvieną pridėtą, pašalintą ir pakeistą raktą savo kelyje, visiškai savo naršyklėje.
Rezultatas
Šiame puslapyje atidaromas JSON skirtumų tikrintuvas su jau įjungtu „rūšiavimo klavišais prieš palyginimą“, įkeltu nedideliu pavyzdžiu: to paties asmens įrašas, parašytas du kartus su jo raktais kita tvarka. Pažvelkite į rezultatą ir pamatysite nulinių skirtumų, kaip ir turėtų būti – raktų pertvarkymas nekeičia JSON objekto reikšmės.
JSON objektas pagal apibrėžimą yra netvarkingas raktų / reikšmių porų rinkinys. {"id":1"name":"Ada"} ir {"name":"Ada","id":1} apibūdina lygiai tuos pačius duomenis. Tačiau naivus palyginimas – pavyzdžiui, įklijuojant abi gražiai atspausdintas apkrovas į paprastą eilutę pagrįstą teksto skirtumą – beveik kiekviena eilutė bus pažymėta kaip pakeista tuo momentu, kai vienos pusės serializuotojas nusprendė išleisti laukus kita tvarka, nes teksto skirtumai lygina tik simbolius ir eilutes, bet neturi reikšmės.
Šis įrankis išvengia tų spąstų, nes kiekvieno objekto klavišus valdo pagal pavadinimą, o ne pagal vietą, todėl klavišų tvarka niekada jo neapgaus – rūšiavimas tiesiog padaro šią garantiją matomą ir pateikia aiškų, abėcėlės tvarka išdėstytą sąrašą, pagal kurį galima perskaityti skirtumus. Redaguokite bet kurią tekstinę sritį ir tiesiogiai stebėkite skirtumo atnaujinimą; Kai būsite pasiruošę, palyginkite du savo JSON dokumentus, o ne pavyzdį.