JSON-lajittelu
Lajittele JSON-objektin avaimet aakkosjärjestykseen
Syöte
Lajiteltu tulos
Mikä on JSON-lajittelu?
Oletko nähnyt pull requestin, jossa puolet muutoksista olivat vain uudelleenjärjestettyjä JSON-avaimia? Turhauttavaa. JSON-objektien avaimilla ei ole määriteltyä järjestystä — RFC 8259 -standardi ei takaa sitä, ja jäsentimet voivat palauttaa ne missä tahansa järjestyksessä. Aakkosjärjestykseen lajittelu tekee git diff:eistä siistimpiä, hashauksen deterministiseksi ja generoidusta tuloksesta toistettavan.
Tämä työkalu lajittelee JSON-objektiesi avaimet rekursiivisesti. Sisäkkäisten objektien avaimet lajitellaan myös. Taulukot pysyvät paikallaan; vain objektien avaimet järjestetään uudelleen. Käsittely tapahtuu selaimessasi.
Miten työkalua käytetään
Liitä JSON
Liitä JSON vasempaan editoriin tai lataa tiedosto. Käytä Esimerkki esimerkkidataan. Työkalu hyväksyy minkä tahansa kelvollisen JSON:n.
Katso lajiteltu tulos
Oikea paneeli näyttää saman JSON:n avainten kanssa lajiteltuna aakkosjärjestykseen. Sisäkkäiset objektit lajitellaan rekursiivisesti. Virheellinen JSON näyttää virheen.
Kopioi tai lataa
Käytä Kopioi tai Lataa tiedostona saadaksesi tuloksen. Muotoiluun ilman lajittelua käytä JSON-muotoilutyökalua. Tiivistämiseen käytä JSON-tiivistintä.
JSON-lajittelun esimerkkejä
Tässä esimerkki JSON-objektin avainten lajittelusta aakkosjärjestykseen. Sisäkkäiset objektit lajitellaan rekursiivisesti.
Esimerkki: Tilaajatietue lajittelemattomilla avaimilla
Syöte (avaimet satunnaisessa järjestyksessä):
Lajiteltu tulos:
Milloin avainten järjestys on tärkeä
Git diff:it ovat siistimpiä, kun avaimet on lajiteltu: muutokset erottuvat sen sijaan, että ne hukkuneet uudelleenjärjestettyihin riveihin. Jotkut järjestelmät käyttävät JSON-merkkijonomuotoilua hashauksen tai allekirjoituksen tekemiseen; lajitellut avaimet tekevät tuloksesta deterministisen. JavaScriptissä JSON.stringify ei takaa avainten järjestystä. Tämä työkalu antaa johdonmukaisen tuloksen riippumatta syötteen järjestyksestä.
Usein kysyttyä
Miten lajittelen JSON-avaimia JavaScriptissä?
Voit käyttää reviver-funktiota JSON.parse():n kanssa tai rakentaa rekursiivisesti uuden objektin lajitelluilla avaimilla Object.keys().sort():n avulla. Tämä työkalu tekee sen automaattisesti — liitä JSON ja saat heti lajitellun tuloksen.
Muuttaako lajittelu dataani?
Ei. Vain avainten järjestys muuttuu. Arvot, tyypit ja JSON:n rakenne pysyvät täsmälleen samoina. Tulos on semanttisesti identtinen syötteen kanssa.
Miksi JSON-avaimet kannattaa lajitella?
Lajitellut avaimet tekevät git diff:eistä helpommin luettavia (todelliset muutokset erottuvat sen sijaan, että ne hukkuisivat uudelleenjärjestetyihin riveihin), tekevät JSON-hashauksen deterministiseksi ja varmistavat johdonmukaisen tuloksen konfiguraatiotiedostoja tai API-vastauksia generoitaessa.
Lajitellaanko taulukotkin?
Ei. Taulukoita ei koskaan lajitella — niiden järjestys on osa dataa. Tämä työkalu lajittelee vain JSON-objektien avaimet, ei taulukon elementtejä.
Lähetetäänkö datani palvelimelle?
Ei. Kaikki lajittelu tapahtuu paikallisesti selaimessasi. Mitään dataa ei lähetetä palvelimelle, tallenneta tai kirjata lokiin.
Liittyvät työkalut
JSON-syntaksista: RFC 8259 ja MDN. JSON-määrittely json.orgissa. Komentorivikäsittelyyn jq tukee lajittelua. Git diff hyötyy lajitelluista avaimista. Katso myös JSON.stringify(), Lodash sortBy ja Postman.