JSON-erotarkistus
Vertaa kahta JSON-hyötykuormaa rakenteen, ei tekstin mukaan: näet jokaisen lisätyn, poistetun ja muutetun avaimen omalla polullaan, kokonaan selaimessasi.
Tulos
Kahden JSON-asiakirjan liittäminen tavalliseen tekstin erotustyökaluun tuottaa melkein aina väärän kuvan: objektiavainten uudelleenmuotoilu, sisennys tai yksinkertaisesti sarjoittaminen eri järjestyksessä sytyttää valtavia jaksoja "muutettua" tekstiä, vaikka taustalla olevat tiedot ovat identtisiä. Tekstidiff vertaa merkkejä ja rivejä; sillä ei ole aavistustakaan, että {"a":1,"b":2} ja {"b":2"a":1} tarkoittavat täsmälleen samaa asiaa.
Tämä työkalu jäsentää molemmat syötteet ensin JSON-muodossa ja kulkee sitten rekursiivisesti kahta rakennetta tavalla, jolla tiedot on todellisuudessa muotoiltu: objekteja verrataan avaimen nimen mukaan ja taulukoita sijainnin mukaan (indeksipohjainen taulukoiden vertailu on tässä tarkoituksellinen, yksinkertaisempi oletus - ei ole olemassa "käsittele tätä taulukkoa järjestämättömänä joukkona, joka on avattu id-kentällä" -tilaa). Jokainen ero raportoidaan omalla polullaan, kuten käyttäjä.osoite.kaupunki, ja luokitellaan lisätyksi, poistetuksi tai muutetuksi. Vanha ja uusi arvo näytetään yhdessä, joten sinun ei koskaan tarvitse arvailla, mikä kääntyi.
Muuttumattomat polut ovat oletuksena piilossa, joten suuri hyötykuorma yhdellä pienellä muutoksella ei hauta sitä kohinaan, vaan kytkin paljastaa ne uudelleen, kun haluat täyden kuvan. Lajittele avaimet ennen vertailua -vaihtoehto kävelee ja listaa objektiavaimet kanonisessa aakkosjärjestyksessä – JSON-objektilla ei ole aluksi merkityksellistä avainjärjestystä, joten kaksi objektia, joilla on samat avaimet ja arvot eri järjestyksessä, ovat samat tiedot, ja tämä vaihtoehto tekee vertailusta ja tuloksena olevasta luettelosta eksplisiittisen ja deterministisen. Se on tarkka asetus tämän työkalun lajiteltujen ja API-vastauksen vertailun esiasetusten takana.
Jos tarvitset klassista vierekkäistä rivierottelua tavalliselle tekstille, koodille tai muulle sisällölle, joka ei ole JSON, käytä sen sijaan täydentävää Text Diff -työkalua – se vertaa rivi riviltä ja on oikea työkalu, kun välilyönnillä ja muotoilueroilla on todella merkitystä. Tämä on nimenomaan JSONille, ja kuten kaikki tämän sivuston työkalut, se toimii kokonaan selaimessasi: mitään liittämistäsi ei koskaan ladata minnekään.