JSONin muotoilu verkossa
Liitä API-vastaus, asetustiedosto tai lokirivi ja lue sisältöä selkeästi. Oliot ja taulukot sisennetään syvyyden mukaan, avaimet omille riveilleen. Tuloksessa on syntaksikorostus.
Miksi JSON saapuu tiivistettynä?
JSON on rajapintojen vakiokieli, ja rajapinnat optimoivat tavumäärää eivätkä lukukokemusta. REST-päätepisteen tai GraphQL-palvelimen vastaus sarjoitetaan ilman yhtäkään ylimääräistä välilyöntiä. Se sopii tiedonsiirtoon mutta huonosti ihmiselle. Sama koskee työkalujen tallentamia asetustiedostoja, rakenteisia lokirivejä, sivulle upotettuja JSON-LD-lohkoja ja kaikkea, mitä kopioit selaimen kehittäjätyökalujen verkkovälilehdeltä.
Muotoilu tekee rakenteesta ilmeisen
Sisennetty JSON vastaa rakenteellisiin kysymyksiin nopeasti. Kuinka syvä olio on? Onko kenttä oliotaulukko vai taulukoita sisältävä olio? Mikä avain on null, vaikka odotit arvoa? Missä yksi tietue päättyy ja seuraava alkaa? Puuttuvan tai väärin kirjoitetun avaimen löytäminen muotoillusta sisällöstä vie sekunteja, kun taas yksirivisen version tutkimisen sijaan päätyy helposti kirjoittamaan komentosarjan. Käytännöllinen tarkistus alkaa tunnetusta tietuetunnisteesta. Etsi arvo, tutki sen sisältävää oliota ja vertaa olennaisia avaimia sovelluksesi odottamaan rajapintasopimukseen. Erota puuttuva avain nimenomaisesta null-arvosta tai tyhjästä taulukosta, sillä sovellukset käsittelevät niitä usein eri tavoin. Muotoilu auttaa näkemään erot, mutta ei tarkista liiketoimintasääntöjä, havaitse kaikkia toistuvien avainten ongelmia tai varmista API-sopimusta. Käytä sovellustestejä ja skeemavalidointia näihin tarkistuksiin, kun olet ensin paikantanut epäilyttävän osan sisällöstä.
Virheellinen JSON havaitaan heti
Koska syöte on jäsennettävä ennen kuin se voidaan tulostaa, muotoilu on myös nopein käytettävissäsi oleva kelpoisuustarkistus. Loppupilkku, yksinkertaisilla lainausmerkeillä merkitty merkkijono, arvon sisällä oleva suojaamaton lainausmerkki tai katkennut vastaus pysäyttää jäsennyksen, ja saat tuloksen sijaan virheilmoituksen. Usein juuri näin selviää, että rajapintavastaus, jonka vikaa etsit, oli katkennut tai että asetustiedostossa on yksi pilkku liikaa.
JSON, JSON Lines ja JSONP
Tämä sivu muotoilee yhden JSON-dokumentin. Jos syötteesi on lokitiedosto, jossa on yksi JSON-olio rivillä, muotoile koko tiedoston sijaan ne yksittäiset rivit, jotka sinua kiinnostavat, sillä tiedosto kokonaisuutena ei ole yksi kelvollinen dokumentti. Ja jos vastaus alkaa funktion nimellä, joka on kääritty tietojen ympärille, kyse on JSONP:stä eikä JSONista, ja juuri siksi työkalu tunnistaa hyötykuorman toisinaan JavaScriptiksi. Silloin tunnistus on oikeassa, ja JavaScriptinä muotoiltunakin tulos on täysin luettava.
Usein kysytyt kysymykset
Validoiko työkalu JSONini?
Käytännössä kyllä. Dokumentin on jäsennyttävä ennen kuin se voidaan muotoilla, joten mikä tahansa syntaksivirhe keskeyttää käsittelyn ja siitä ilmoitetaan tuloksen sijaan. Se on nopein tapa tarkistaa, onko hyötykuorma hyvin muodostettu.
Säilyykö avainten järjestys?
Muotoilija ei tarkoituksella lajittele olion avaimia, vaan tekee annetusta rakenteesta helpommin luettavan. Säilytä alkuperäinen, jos tarkka teksti on tärkeää, sillä muotoilu voi muuttaa asettelua ja esitystapaa. Pelkkä avainten järjestys ei myöskään osoita sisällön vastaavan sovelluksen odottamaa skeemaa.
Voinko muotoilla erittäin suuria API-vastauksia?
Käytännön rajat määräytyvät selaimen käytettävissä olevan muistin ja laskentatehon mukaan. Suuret vastaukset voivat hidastaa tai jumittaa välilehden muotoilun ja syntaksikorostuksen aikana, eikä taattua tuettua kokoa ole. Aloita pienemmästä kokonaisesta oliosta tai taulukosta, kun tutkit yhtä tietuetta suuressa vastauksessa.
