JSON-i erinevus sorteeritud võtmetega – ignoreerige võtmete järjestust
Võrrelge kahte JSON-i kasulikku koormust struktuuri, mitte teksti järgi: vaadake iga lisatud, eemaldatud ja muudetud võtit omal teel, täielikult oma brauseris.
Tulemus
See leht avab JSON-i erinevuse kontrollija, kus „sordi võtmed enne võrdlemist” on juba sisse lülitatud ja laaditud väikese näitega: sama isiku kirje on kirjutatud kaks korda oma võtmetega erinevas järjekorras. Vaadake tulemust ja näete null erinevust, täpselt nii nagu see peaks olema – võtmete ümberjärjestamine ei muuda JSON-objekti tähendust.
JSON-objekt on definitsiooni järgi võtme/väärtuste paaride järjestamata kogum. {"id":1"name":"Ada"} ja {"name":"Ada","id":1} kirjeldavad täpselt samu andmeid. Kuid naiivne võrdlus – näiteks mõlema kasuliku koormuse kleepimine, ilusti trükitud, tavaliseks reapõhiseks tekstidiferentsiks – märgib peaaegu iga rea muudetuks hetkest, mil ühe poole jadajadaja otsustas väljad erinevas järjekorras väljastada, sest tekstierinevus võrdleb alati ainult tähemärke ja ridu, mitte kunagi ei anna tähendust.
See tööriist väldib seda lõksu, kasutades iga objekti klahvi nime, mitte asukoha järgi, nii et klahvide järjestus ei petnud seda kunagi – sorteerimine muudab selle garantii lihtsalt nähtavaks ja annab teile selge, tähestikulises järjestuses järjestatud loendi, mille alusel erinevusi lugeda. Redigeerige kumbagi tekstiala ja vaadake diff-värskendust otseülekandena; Kui olete valmis, võrrelge näite asemel oma kahte JSON-dokumenti siin.