JSON opmaken en valideren
Maak JSON beter leesbaar, controleer de syntaxis of maak een compacte versie. Deze handleiding behandelt inspringing, het sorteren van sleutels en het opslaan van het resultaat.
Probeer het meegeleverde voorbeeld
Download order-options.json, een verzonnen bestelling met twee artikelen en veldnamen in het Engels. Het object customer groepeert een naam en een plaats; de array items bevat CARD-02 gevolgd door BOX-01. Het voorbeeld bevat tekst tussen aanhalingstekens, numerieke aantallen en prijzen, de booleaanse waarde true en null voor een lege bezorgnotitie. De velden zijn bewust niet gesorteerd, zodat je ziet wat de sorteeroptie verandert.
Stap voor stap
- Open JSON-formatter en validator. Gebruik Bestand om het meegeleverde order-options.json te openen, of plak de inhoud in Je invoer.
- Stel Inspringing in op 2 voor twee spaties per niveau. Laat Objectsleutels sorteren bij de eerste verwerking uitgevinkt.
- Kies Invoer verwerken. De tool controleert de JSON-syntaxis voordat hij een resultaat toont. Gebruik bij een foutmelding de regel en kolom om het probleem te vinden, corrigeer de invoer en probeer opnieuw.
- Lees het resultaat. Het object customer en de twee artikelen moeten goed te volgen zijn, met één veld of lijstitem per regel. De velden houden de volgorde van het voorbeeld zolang sorteren uitgevinkt is.
- Kies Resultaat downloaden om formatted.json op te slaan. Je kunt ook Tekst kopiëren gebruiken om het resultaat in een andere editor te plaatsen.
- Open het gedownloade bestand in een teksteditor en vergelijk het met het voorbeeld aan de hand van de controles hieronder. Probeer daarna de andere opties voor inspringing en sorteren en kies na elke wijziging opnieuw Invoer verwerken.
Voorbeelden voor en na
Deze korte voorbeelden gebruiken het object customer uit order-options.json als een klein JSON-document. Vergelijk dezelfde naam en plaats voor en na elke instelling. De optionele referentiesectie onderaan toont de volledige bestelling.
Compacte JSON beter leesbaar maken
Stel Inspringing in op 2, laat Objectsleutels sorteren uitgevinkt en kies Invoer verwerken. Het resultaat krijgt regeleinden en twee spaties per niveau, terwijl de velden hun oorspronkelijke volgorde behouden.
Voor: compacte invoer
{"customer":{"name":"Zoë","city":"Bergen"}}Na: inspringing met twee spaties
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}De sleutels binnen een object sorteren
Laat Inspringing op 2 staan, vink Objectsleutels sorteren aan en kies Invoer verwerken. Binnen customer komt city nu vóór name. Beide waarden blijven gelijk.
Voor: oorspronkelijke sleutelvolgorde
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Na: gesorteerde objectsleutels
{
"customer": {
"city": "Bergen",
"name": "Zoë"
}
}De JSON compact maken
Kies Minimaliseren onder Inspringing, laat Objectsleutels sorteren uitgevinkt en kies Invoer verwerken. Opmaakspaties en regeleinden verdwijnen; de tekst en veldvolgorde blijven gelijk.
Voor: inspringing met twee spaties
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Na: Minimaliseren
{"customer":{"name":"Zoë","city":"Bergen"}}De inspringing kiezen
| Keuze | Effect |
|---|---|
| 2 | Gebruikt twee spaties per nestingsniveau. Dit is de instelling uit de belangrijkste stappen. |
| 4 | Gebruikt vier spaties per nestingsniveau, waardoor geneste objecten en arrays duidelijker inspringen. |
| ↹ | Gebruikt een tab per nestingsniveau. De zichtbare breedte van een tab hangt af van je teksteditor. |
| Minimaliseren | Verwijdert opmaakspaties en regeleinden. Spaties binnen tekst tussen aanhalingstekens blijven onderdeel van die tekst. Kies dit voor compacte uitvoer en kies daarna Invoer verwerken. |
Als je de invoer of een optie wijzigt, wordt het vorige resultaat gewist. Kies opnieuw Invoer verwerken om een resultaat met de nieuwe instellingen te maken. De tool leest steeds het invoerveld; hij plaatst het vorige resultaat niet automatisch terug in de invoer.
Objectsleutels sorteren
Laat Objectsleutels sorteren uitgevinkt om de oorspronkelijke veldvolgorde van elk object te behouden. Als je het aanvinkt, worden sleutels in het hele document volgens hoofdlettergevoelige tekstvolgorde gesorteerd, ook in objecten binnen arrays. De array-elementen zelf behouden hun oorspronkelijke volgorde.
- Laat Inspringing op 2 staan, vink Objectsleutels sorteren aan en kies Invoer verwerken.
- De sleutels op het hoogste niveau zijn nu customer, deliveryNote, items, order en paid. Binnen customer komt city vóór name. In elk artikel komt price vóór quantity en sku.
- De array items bevat nog steeds CARD-02 gevolgd door BOX-01. Sleutels sorteren sorteert de artikelen niet op sku of prijs.
Kopiëren, downloaden en opnieuw beginnen
| Keuze | Effect |
|---|---|
| Tekst kopiëren | Kopieert het huidige resultaat als tekst. Als kopiëren niet beschikbaar is, selecteert de tool het resultaat zodat je het handmatig kunt kopiëren. |
| Resultaat downloaden | Slaat het huidige resultaat op als formatted.json. Deze naam wordt gebruikt voor opgemaakte, compacte en gesorteerde resultaten. Geef bestanden een andere naam als je meerdere versies wilt bewaren. |
| Resultaten afdrukken | Opent het afdrukvenster van de browser voor de resultaattekst. |
| Voorbeeld laden | Vervangt de invoer door het ingebouwde voorbeeld van de tool en verwerkt dit met de huidige instellingen. Dat voorbeeld verschilt van order-options.json uit deze handleiding. |
| Alles verwijderen | Wist de invoer, het geselecteerde bestand en het resultaat. De keuzes voor inspringing en sorteren blijven ingesteld. |
Je gedownloade JSON controleren
- Open formatted.json in een teksteditor. Controleer of de bestelling ORD-1042 is, de klant Zoë in Bergen is en er twee artikelen zijn.
- Controleer de waarden en hun typen: quantity is het getal 2 en daarna 1, de prijzen blijven 19.50 en 5.00, paid is de booleaanse waarde true zonder aanhalingstekens en deliveryNote is de waarde null zonder aanhalingstekens. Namen en artikelcodes tussen aanhalingstekens blijven strings.
- Controleer nadat je Objectsleutels sorteren hebt geprobeerd de hierboven beschreven veldvolgorde en of CARD-02 nog steeds vóór BOX-01 staat in de array items.
- Probeer Minimaliseren en Invoer verwerken. Plak dat resultaat terug in Je invoer, stel Inspringing in op 2 en kies opnieuw Invoer verwerken. Vergelijk de waarden en artikelvolgorde met het oorspronkelijke voorbeeld; opmaakkeuzes moeten die behouden.
Vragen en probleemoplossing
Waarom meldt de tool ongeldige JSON?
Controleer de gemelde regel en kolom en het veld vlak daarvoor. Sleutels en tekst vereisen dubbele aanhalingstekens; velden vereisen komma's en dubbele punten; vierkante en accolades moeten sluiten. Corrigeer de invoer en kies opnieuw Invoer verwerken. De validatie controleert de JSON-syntaxis, dus ook een geldig resultaat kan velden missen die je toepassing nodig heeft.
Kan ik opmerkingen of een afsluitende komma gebruiken?
Verwijder opmerkingen en komma's direct vóór een sluitend vierkant haakje of een sluitende accolade. Die zijn niet geldig in JSON. De formatter vereist geldige invoer en herstelt die niet automatisch.
Wat betekent de waarschuwing voor een herhaalde sleutel?
De melding ‘Herhaalde objectsleutels zijn behouden. Sommige lezers negeren herhaalde sleutels.’ betekent dat een sleutel meer dan eenmaal in hetzelfde object voorkomt. De formatter behoudt deze vermeldingen en waarschuwt je. Controleer de bron, kies de bedoelde waarde en verwijder de extra vermelding; een andere toepassing kan er slechts één behouden.
Waarom kan mijn bestand niet worden geopend of verwerkt?
De invoerlimiet is 2 MiB, oftewel 2.097.152 bytes. Lokale tekstbestanden moeten UTF-8 gebruiken. Als de tool meldt dat de gegevens te complex zijn, verminder dan de nesting of het aantal vermeldingen. Verdeel grote invoer in kleinere, volledige JSON-documenten; knip niet midden in een object of array.
Waarom veranderen lange getallen in een andere toepassing?
Het aparte precisievoorbeeld hieronder bevat 9007199254740993 en 0.10000000000000001. Deze formatter behoudt hun getaltekst exact bij elke keuze voor inspringing en sorteren. Maak exact-numbers.json op en vergelijk je resultaat met exact-numbers-formatted.json in een teksteditor. Een toepassing die het resultaat importeert, kan getallen alsnog afronden. Controleer dus of ze de benodigde precisie ondersteunt. Een code met voorloopnullen, zoals 00123, moet in JSON een string tussen aanhalingstekens zijn.
Kan opmaak al afgeronde cijfers herstellen?
Opmaak kan geen cijfers herstellen die zijn afgerond of verwijderd voordat de tekst de tool bereikte. Ga terug naar de oorspronkelijke bron en exporteer de volledige waarde opnieuw. Als de waarde een identificatiecode is in plaats van een hoeveelheid, kan een string ontvangende toepassingen helpen alle cijfers te behouden.
Optioneel: het voorbeeld en de referentie-uitvoer vergelijken
Deze codevoorbeelden en downloads zijn met dezelfde formatter als op de toolpagina uit order-options.json gemaakt. Bij de opgemaakte en compacte referenties staat sleutels sorteren uit; de gesorteerde referentie gebruikt twee spaties inspringing met sorteren aan.
Oorspronkelijk voorbeeld
{"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}
Twee spaties; oorspronkelijke sleutelvolgorde
{
"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
}Minimaliseren; oorspronkelijke sleutelvolgorde
{"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}Twee spaties; gesorteerde objectsleutels
{
"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
}| Referentiebestand | Instellingen | Bytes |
|---|---|---|
| order-formatted.json | Twee spaties; oorspronkelijke sleutelvolgorde | 300 |
| order-minified.json | Minimaliseren; oorspronkelijke sleutelvolgorde | 193 |
| order-sorted.json | Twee spaties; gesorteerde objectsleutels | 300 |
Dit zijn echte tekstresultaten, geen schermafbeeldingen van de interface. De code kan visueel worden afgebroken om op je scherm te passen. De namen van de referentiebestanden onderscheiden de voorbeelden; de tool downloadt elke versie als formatted.json.