← Kaikki työkalut

JSON-muotoilija, validoija ja pienentäjä

Muotoile, validoi ja pienennä JSON verkossa selaimessasi. Siisti sotkuiset API-vastaukset, löydä syntaksivirheet ja pienennä tiedon kokoa — mitään ei ladata palvelimelle.

Muotoile, validoi ja tiivistä JSON suoraan selaimessasi

JSON, lyhenne sanoista JavaScript Object Notation, on nykyverkon yhteinen kieli. Lähes jokainen kutsumasi REST-rajapinta palauttaa sitä, useimmat konfiguraatiotiedostot nojaavat siihen, ja valtaosa palveluiden ja käyttöliittymien välillä kulkevasta datasta on serialisoitu JSON-muotoon. Se on suosittu hyvästä syystä: formaatti on yksinkertainen, kieliriippumaton ja istuu luontevasti niihin olioihin, taulukoihin, merkkijonoihin ja lukuihin, joiden kanssa ohjelmoijat jo ajattelevat. Mutta samalla tiiviydellä on kääntöpuolensa. Heti kun palvelin antaa yhden rivin vastauksen, jossa on satoja sisäkkäisiä avaimia, JSONin viehätysvoiman taannut rakenne katoaa merkkiseinän taakse.

speedor.net JSON-muotoilija on olemassa palauttaakseen tuon rakenteen. Liitä datasi, ja se muotoilee, validoi ja tiivistää JSONin heti paikan päällä, kokonaan selainvälilehtesi sisällä. Mitään ei ladata palvelimelle, mikä on tärkeää silloin, kun tarkastelemasi hyötykuorma on API-vastaus, joka sisältää tokeneita, asiakastietoja tai sisäisiä tunnisteita.

Abstrakti hehkuva sisäkkäisten aaltosulkeiden ja sisennetyn JSON-rakenteen kuva tummansinisellä pohjalla
Sisennys muuttaa tasaisen datamöykyn puuksi, jota voi oikeasti lukea.

Miksi sisennys tekee JSONista taas luettavaa

Muotoilu, jota kutsutaan myös kaunistamiseksi (beautify) tai pretty-printtaukseksi, ottaa tiivistetyn tai minifioidun JSONin ja lisää siihen rivinvaihdot sekä johdonmukaisen sisennyksen. Tieto pysyy identtisenä; ainoastaan välilyönnit muuttuvat. Silti juuri nuo välilyönnit antavat silmän seurata sisäkkäisyyden syvyyttä, huomata missä yksi olio päättyy ja seuraava alkaa, sekä erottaa kolmen alkion taulukon kolmensadan alkion taulukosta. Kun debuggaat integraatiota kello kaksi yöllä, ero luettavan puun ja katkeamattoman merkkijonon välillä on ero bugin löytämisen ja sen huomaamatta jättämisen välillä.

Hyvä muotoilija säilyttää myös avainten järjestyksen ja tarkat arvot muuttumattomina, joten lukemasi on aidosti sitä, mitä API lähetti. Et katso uudelleen renderöityä approksimaatiota, vaan samoja tavuja, jotka on vain aseteltu niin, että ihminen voi jäsentää ne yhtä helposti kuin kone.

Validointi ja virheet, joihin kaikki kompastuvat

Kaunistaminen on vain puolet työstä. Ennen kuin JSON voidaan ylipäätään muotoilla, sen on oltava validia, ja formaatin tiukat säännöt paljastavat huomattavasti enemmän virheitä kuin ihmiset odottavat. Validaattori jäsentää syötteesi ja kertoo täsmälleen, mistä kohdasta se hajoaa, yleensä osoittaen riviä ja sijaintia, jotta sinun ei tarvitse etsiä sokkona. Alla olevat muutamat virheet selittävät valtaosan rikkoutuneesta JSONista:

  • Roikkuvat pilkut. JSON kieltää pilkun olion tai taulukon viimeisen alkion jälkeen. JavaScript sietää sitä, minkä vuoksi kehittäjät liittävät sen mukaan tottumuksesta.
  • Yksinkertaiset lainausmerkit. Merkkijonojen ja avainten on käytettävä kaksoislainausmerkkejä. Olio-literaalin poimiminen suoraan lähdekoodista jättää usein yksinkertaiset lainausmerkit jäljelle, ja jäsentäjä hylkää sen.
  • Lainaamattomat avaimet. Jokaisen avaimen on oltava lainattu merkkijono. Paljaat avaimet, jotka toimivat mainiosti JavaScript-oliossa, ovat virheellistä JSONia.
  • Puuttuvat tai epätasapainossa olevat sulkeet. Sulkematon { tai [, tai ylimääräinen sulkeva merkki, suistaa koko dokumentin raiteiltaan. Muotoilija korostaa, mistä tasapaino pettää.
  • Kommentit ja määrittelemättömät arvot. JSONissa ei ole kommentteja eikä undefined-arvoa; vain null, totuusarvot, luvut, merkkijonot, taulukot ja oliot ovat sallittuja.

Aja epäilyttävä hyötykuorma ensin validaattorin läpi, niin nämä ongelmat paljastuvat sekunneissa sen sijaan, että löydät ne vasta sekavan epäonnistuneiden julkaisujen ketjun jälkeen.

Sotkuinen data selkiytyy järjestyneeksi hehkuvaksi rakenteeksi validointihohteen kanssa
Validointi muuttaa virheellisen datan sotkun vahvistetuksi, hyvin muodostetuksi dokumentiksi.

Tiivistäminen pienentää hyötykuormia

Vastakkainen toimenpide on yhtä hyödyllinen. Tiivistäminen (minifiointi) poistaa jokaisen ylimääräisen välilyöntitavun ja kutistaa JSONin takaisin tiiviimpään yhden rivin muotoon. Juuri sitä haluat silloin, kun data on menossa verkkoon tai konfiguraatioarvoksi, sillä pienemmät hyötykuormat tarkoittavat vähemmän kaistanleveyttä ja nopeampia siirtoja. Yleinen työnkulku on kaunistaa vastaus sen tutkimisen ajaksi, korjata mikä on rikki, ja tiivistää tulos ennen sen committaamista tai liittämistä ympäristömuuttujaan. Yksi työkalu hoitaa silmukan molemmat päät.

Paikallinen käsittely pitää arkaluontoisen datan yksityisenä

Koska jokainen vaihe ajetaan JavaScriptillä omassa selaimessasi, liittämäsi JSON ei koskaan poistu koneeltasi. Se ei ole markkinointikoriste, vaan käytännön tae. Voit liittää raa'an API-vastauksen täynnä bearer-tokeneita, käyttäjädatan viennin tai sisäisen palvelun konfiguraation ilman huolta siitä, että kolmannen osapuolen palvelin lokittaisi sen. Sulje välilehti, ja data on poissa. Kaikille, jotka työskentelevät tietosuojasääntöjen alaisina, pelkästään paikallinen käsittely poistaa kokonaisen riskiluokan.

Kun JSONisi on siisti, voit haluta viedä sitä pidemmälle. Tutustu muihin kehittäjätyökaluihimme, muunna rakenne JSONista YAML:ksi, tai pura upotettu arvo Base64-työkalulla. Jokainen työkalu noudattaa samaa periaatetta: nopea, ilmainen ja käsitelty kokonaan selaimessasi.

Usein kysytyt kysymykset

Ladataanko JSONini palvelimelle?

Ei. Muotoilija toimii kokonaan selaimessasi JavaScriptin avulla. Dataasi ei koskaan lähetetä minnekään, joten voit turvallisesti liittää arkaluontoisia API-vastauksia tai konfiguraatiotiedostoja.

Mitä eroa on muotoilulla ja tiivistämisellä?

Muotoilu lisää sisennyksen ja rivinvaihdot, jotta JSON on luettavaa. Tiivistäminen poistaa kaiken ylimääräisen välilyönnin, jotta hyötykuorma on mahdollisimman pieni. Data itsessään on identtinen molemmissa muodoissa.

Miksi JSONini ei validoidu?

Yleisimmät syyt ovat roikkuvat pilkut, yksinkertaiset lainausmerkit kaksoislainausmerkkien sijaan, lainaamattomat avaimet, kommentit sekä puuttuvat tai epätasapainossa olevat sulkeet. Validaattori osoittaa rivin, jossa ongelma esiintyy.

Voinko käyttää yksinkertaisia lainausmerkkejä JSONissa?

Ei. JSON-määrittely vaatii kaksoislainausmerkit kaikille merkkijonoille ja avaimille. Yksinkertaiset lainausmerkit kelpaavat JavaScriptissä mutta eivät JSONissa, mikä on yleinen virheiden lähde.

Muuttaako työkalu dataani sitä muotoillessaan?

Ei. Muotoilu vain lisää tai poistaa välilyöntejä. Avaimet, arvot ja niiden järjestys pysyvät täsmälleen ennallaan, joten lukemasi on juuri sitä, mitä API todella lähetti.

Onko kokorajaa?

Koska käsittely tapahtuu paikallisesti, käytännön raja riippuu laitteestasi ja selaimestasi eikä palvelimen kattosta. Tyypilliset API-vastaukset ja konfiguraatiotiedostot muotoutuvat välittömästi.