Formater og valider JSON
Gjer JSON lettare å lese, kontroller syntaksen eller lag ein kompakt versjon. Denne rettleiinga viser innrykk, sortering av nøklar og lagring av resultatet.
Prøv dømefila
Last ned order-options.json, ei oppdikta bestilling med to varer og feltnamn på engelsk. Objektet customer samlar namn og by; matrisa items er ei liste med CARD-02 etterfølgt av BOX-01. Dømet inneheld tekst i hermeteikn, numeriske mengder og prisar, den boolske verdien true og null for ein tom leveringsmerknad. Felta er med vilje usorterte, slik at du kan sjå kva sorteringsvalet endrar.
Steg for steg
- Opne JSON-formatering og validering. Bruk Fil for å opne den vedlagde order-options.json, eller lim inn filinnhaldet i Dine verdiar.
- Set Innrykk til 2 for to mellomrom per nivå. La Sorter objektnøklar vere slått av ved første køyring.
- Vel Handsama inndata. Verktøyet kontrollerer JSON-syntaksen før det viser eit resultat. Ved ein feil bruker du linje og kolonne til å finne problemet, rettar inndata og prøver igjen.
- Les resultatet. Objektet customer og dei to varene skal vere lette å følgje, med eitt felt eller listeelement per linje. Felta held på rekkjefølgja i dømet når sortering er slått av.
- Vel Last ned resultat for å lagre formatted.json. Du kan òg bruke Kopier tekst for å leggje resultatet i ein annan editor.
- Opne den nedlasta fila i ein teksteditor og samanlikn med dømet ved hjelp av kontrollane nedanfor. Prøv så dei andre innrykks- og sorteringsvala, og vel Handsama inndata på nytt etter kvar endring.
Døme før og etter
Desse korte døma bruker objektet customer frå order-options.json, vist som eit lite JSON-dokument. Samanlikn det same namnet og den same byen før og etter kvart val. Den valfrie referansedelen til slutt viser heile bestillinga.
Gjer kompakt JSON lettare å lese
Set Innrykk til 2, la Sorter objektnøklar vere slått av og vel Handsama inndata. Resultatet får linjeskift og to mellomrom per nivå, medan felta held på den opphavlege rekkjefølgja.
Før: kompakte inndata
{"customer":{"name":"Zoë","city":"Bergen"}}Etter: innrykk med to mellomrom
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Sorter nøklane i eit objekt
Hald Innrykk på 2, merk av Sorter objektnøklar og vel Handsama inndata. I customer kjem city no før name. Begge verdiane er uendra.
Før: opphavleg nøkkelrekkjefølgje
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Etter: sorterte objektnøklar
{
"customer": {
"city": "Bergen",
"name": "Zoë"
}
}Gjer JSON kompakt
Vel Minimer under Innrykk, la Sorter objektnøklar vere slått av og vel Handsama inndata. Mellomrom og linjeskift frå formateringa forsvinn; teksten og feltrekkjefølgja er uendra.
Før: innrykk med to mellomrom
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Etter: Minimer
{"customer":{"name":"Zoë","city":"Bergen"}}Vel innrykk
| Val | Kva det gjer |
|---|---|
| 2 | Bruker to mellomrom for kvart nivå. Dette er innstillinga i hovudgjennomgangen. |
| 4 | Bruker fire mellomrom for kvart nivå, slik at nøsta objekt og matriser skil seg tydelegare ut. |
| ↹ | Bruker ein tabulator for kvart nivå. Kor brei tabulatoren ser ut, kjem an på teksteditoren. |
| Minimer | Fjernar mellomrom og linjeskift frå formateringa. Mellomrom inne i tekst med hermeteikn er framleis ein del av teksten. Vel dette for kompakte utdata, og vel så Handsama inndata. |
Endring av inndata eller eit val tømer det førre resultatet. Vel Handsama inndata på nytt for å lage eit resultat med dei nye innstillingane. Verktøyet les inndatafeltet kvar gong; det flyttar ikkje automatisk det førre resultatet tilbake til inndata.
Sorter objektnøklar
La Sorter objektnøklar vere slått av for å halde på den opphavlege feltrekkjefølgja i kvart objekt. Når det er slått på, blir nøklar sorterte i tekstleg rekkjefølgje som skil mellom store og små bokstavar i heile dokumentet, òg i objekt inne i matriser. Matriseelementa held på den opphavlege rekkjefølgja.
- Hald Innrykk på 2, merk av Sorter objektnøklar og vel Handsama inndata.
- Nøklane på øvste nivå er no customer, deliveryNote, items, order og paid. I customer kjem city før name. I kvar vare kjem price før quantity og sku.
- Matrisa items inneheld framleis CARD-02 etterfølgt av BOX-01. Nøkkelsortering sorterer ikkje varene etter sku eller price.
Kopier, last ned og start på nytt
| Val | Kva det gjer |
|---|---|
| Kopier tekst | Kopierer det gjeldande resultatet som tekst. Dersom kopiering ikkje er tilgjengeleg, markerer verktøyet resultatet slik at du kan kopiere manuelt. |
| Last ned resultat | Lagrar det gjeldande resultatet som formatted.json. Dette filnamnet blir brukt for formaterte, kompakte og sorterte resultat, så gje filene nye namn dersom du vil behalde fleire versjonar. |
| Skriv ut resultat | Opnar utskriftsdialogen i nettlesaren for resultatteksten. |
| Last inn døme | Byter ut inndata med det innebygde dømet i verktøyet og behandlar det med dei gjeldande innstillingane. Det dømet er ulikt order-options.json i denne rettleiinga. |
| Fjern alle | Tømer inndata, den valde fila og resultatet. Innrykks- og sorteringsvala står framleis ved lag. |
Kontroller den nedlasta JSON-fila
- Opne formatted.json i ein teksteditor. Stadfest at bestillinga er ORD-1042, kunden er Zoë i Bergen, og at det er to varer.
- Kontroller verdiar og typar: quantity er talet 2 og så 1, prisane held på 19.50 og 5.00, paid er den boolske verdien true utan hermeteikn, og deliveryNote er null utan hermeteikn. Namn og varekodar med hermeteikn er framleis strenger.
- Etter å ha prøvd Sorter objektnøklar, stadfest feltrekkjefølgja ovanfor og at CARD-02 framleis kjem før BOX-01 i matrisa items.
- Prøv Minimer og Handsama inndata. Lim resultatet tilbake i Dine verdiar, set Innrykk til 2 og vel Handsama inndata igjen. Samanlikn verdiar og varerekkjefølgje med originaldømet; formateringsvala skal bevare dei.
Spørsmål og feilsøking
Kvifor blir JSON meldt som ugyldig?
Kontroller oppgjeven linje og kolonne og feltet rett før denne posisjonen. Nøklar og tekst treng doble hermeteikn; felt treng komma og kolon; hakeparentesar og klammeparentesar må lukkast. Rett inndata og vel Handsama inndata igjen. Validering kontrollerer JSON-syntaks, så eit gyldig resultat kan framleis mangle felt som programmet ditt krev.
Kan eg bruke kommentarar eller eit avsluttande komma?
Fjern kommentarar og komma rett før ein avsluttande hakeparentes eller klammeparentes. Dei er ikkje gyldige i JSON. Formateraren krev gyldige inndata og rettar dei ikkje automatisk.
Kva tyder åtvaringa om gjentekne nøklar?
Meldinga «Gjentekne objektnøklar er bevarte. Nokre lesarar forkastar gjentekne nøklar.» tyder at ein nøkkel finst fleire gonger i same objekt. Formateraren held på oppføringane og varslar deg. Gå gjennom kjelda, vel den tilsikta verdien og fjern den ekstra oppføringa; eit anna program kan halde på berre éi av dei.
Kvifor kan ikkje fila opnast eller behandlast?
Inndatagrensa er 2 MiB, altså 2 097 152 byte. Lokale tekstfiler må vere UTF-8. Dersom verktøyet melder at dataa er for komplekse, reduser nøsting eller talet på oppføringar. Del store inndata i mindre, komplette JSON-dokument framfor å kutte midt i eit objekt eller ei matrise.
Kvifor endrar lange tal seg i eit anna program?
Det separate presisjonsdømet nedanfor inneheld 9007199254740993 og 0.10000000000000001. Denne formateraren bevarer talteksten nøyaktig med alle innrykks- og sorteringsval. Formater exact-numbers.json og samanlikn resultatet med exact-numbers-formatted.json i ein teksteditor. Eit program som importerer resultatet, kan framleis avrunde tal, så stadfest at det støttar presisjonen du treng. Ein kode med innleiande null, som 00123, må vere ei streng med hermeteikn i JSON.
Kan formatering få tilbake siffer som alt er avrunda?
Formatering kan ikkje få tilbake siffer som blei avrunda eller fjerna før teksten nådde verktøyet. Gå tilbake til originalkjelda og eksporter heile verdien igjen. Når verdien er ein identifikator framfor ei mengd, kan ei streng hjelpe mottakarprogram med å halde på sifra.
Valfritt: samanlikn dømet og referanseutdata
Desse kodedøma og nedlastingane blei laga frå order-options.json med same formaterar som på verktøysida. Dei formaterte og kompakte referansane har nøkkelsortering slått av; den sorterte referansen bruker to mellomrom i innrykket med sortering slått på.
Originaldøme
{"order":"ORD-1042", "customer": {"name":"Zoë","city":"Bergen"}, "items":[{"sku":"CARD-02", "quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1, "price":5.00}], "paid":true, "deliveryNote":null}
To mellomrom; opphavleg nøkkelrekkjefølgje
{
"order": "ORD-1042",
"customer": {
"name": "Zoë",
"city": "Bergen"
},
"items": [
{
"sku": "CARD-02",
"quantity": 2,
"price": 19.50
},
{
"sku": "BOX-01",
"quantity": 1,
"price": 5.00
}
],
"paid": true,
"deliveryNote": null
}Minimer; opphavleg nøkkelrekkjefølgje
{"order":"ORD-1042","customer":{"name":"Zoë","city":"Bergen"},"items":[{"sku":"CARD-02","quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1,"price":5.00}],"paid":true,"deliveryNote":null}To mellomrom; sorterte objektnøklar
{
"customer": {
"city": "Bergen",
"name": "Zoë"
},
"deliveryNote": null,
"items": [
{
"price": 19.50,
"quantity": 2,
"sku": "CARD-02"
},
{
"price": 5.00,
"quantity": 1,
"sku": "BOX-01"
}
],
"order": "ORD-1042",
"paid": true
}| Referansefil | Innstillingar | Byte |
|---|---|---|
| order-formatted.json | To mellomrom; opphavleg nøkkelrekkjefølgje | 300 |
| order-minified.json | Minimer; opphavleg nøkkelrekkjefølgje | 193 |
| order-sorted.json | To mellomrom; sorterte objektnøklar | 300 |
Dette er faktiske tekstutdata, ikkje skjermbilete av grensesnittet. Koden kan brytast for å passe skjermen. Referansefilnamna skil døma; sjølve verktøyet lastar ned alle versjonar som formatted.json.