Werken met JSON-syntaxis en structuur
JSON (JavaScript Object Notation) is een gestructureerd formaat voor gegevensuitwisseling dat veelvuldig wordt gebruikt in API-responses, configuratiebestanden en datatransmissie. De structuur is opgebouwd uit sleutel-waardeparen en geordende lijsten. Om de geldigheid van deze gegevens te garanderen, moeten strikte syntaxisregels worden nageleefd. Zo moeten objectsleutels altijd tussen dubbele aanhalingstekens staan en moeten waarden correct worden gescheiden door komma's.
De JSON-formatter biedt ondersteuning voor het analyseren en structureren van deze data. De tool verwerkt invoer tot een overzichtelijk formaat en biedt de mogelijkheid om te schakelen tussen de standaard "JSON"-syntaxis en "JSONC" (JSON met commentaar) via de optie "Syntaxis". Grote gehele getallen (integers) worden door de tool zonder gegevensverlies behouden tijdens de verwerking.
JSON formatteren en minificeren
Het formatteren van JSON-data verhoogt de leesbaarheid van compacte of ongestructureerde code. Bij het formatteren kan een specifiek niveau voor de "Inspringing" worden geselecteerd. Zodra de actie wordt uitgevoerd, toont de editor de melding "JSON geformatteerd.". Naast de tekstuele weergave "Code" is er een interactieve "Boomstructuur" beschikbaar onder de "JSON-boom". In deze weergave kan de datastructuur worden verkend via knoppen zoals "Alles uitklappen" en "Alles inklappen".
Voor productiedoeleinden waarbij opslagruimte of bandbreedte cruciaal is, biedt de tool de optie om JSON te minificeren. De actie "Minificeren" verwijdert alle overbodige spaties, witregels en regeleinden. Na deze bewerking toont de interface de status "JSON geminificeerd.".
Tijdens het laden en verwerken van de gegevens worden statistieken bijgehouden en getoond in de interface:
- Tekens: Het totale aantal tekens in de invoer.
- Regels: Het aantal regels van de tekst.
- Grootte: De totale bestandsgrootte van de invoer.
Navigatie en data-extractie in de boomstructuur
De interactieve boomstructuur maakt het mogelijk om diep geneste JSON-documenten visueel te inspecteren vanaf het startpunt "root". Gebruikers kunnen specifieke knoppen gebruiken zoals "{key} uitklappen" of "{key} inklappen" om gerichte delen van de boom te openen of te sluiten.
Binnen de boomstructuur is een zoekveld beschikbaar met het label "Zoek in sleutels en waarden". De zoekresultaten worden realtime bijgehouden met indicatoren zoals "{current} van {total}" of "{current} van {total}+" bij grote hoeveelheden treffers. Indien er geen resultaten zijn, verschijnt de melding "Geen resultaten". Navigeren door de resultaten gebeurt met de knoppen "Vorig resultaat" en "Volgend resultaat".
Voor gerichte data-extractie bevat de interface per sleutel het menu "Kopieeropties voor {key}". Hieruit kunnen de volgende opties worden geselecteerd om specifieke paden of waarden direct naar het klembord te kopiëren:
- Waarde kopiëren
- JSON Pointer kopiëren
- JSONPath kopiëren
Wanneer de kopieeractie slaagt, verschijnt de melding "Gekopieerd naar het klembord.".
Foutopsporing en automatische reparatie
Wanneer de ingevoerde JSON syntactische fouten bevat, weigert de boomstructuur te laden en toont de melding "Herstel de JSON om deze als boomstructuur te bekijken.". De tool voert een validatie uit en markeert de exacte locatie van de fout met de aanduiding "regel {line}, kolom {col}". Met de knop "Ga naar fout" springt de cursor direct naar de probleemlocatie.
De tool herkent specifieke fouten in de syntaxis en geeft gedetailleerde foutmeldingen:
- "Ontbrekende komma tussen items"
- "Overbodige komma vóór het sluithaakje"
- "Objectsleutels moeten tussen dubbele aanhalingstekens staan"
- "Ontbrekende dubbele punt na een eigenschapsnaam"
- "Een string mist het afsluitende aanhalingsteken"
- "De JSON eindigt te vroeg — het lijkt afgekapt"
- "Onverwacht teken op een plek waar een waarde hoort te staan"
- "Deze JSON is te diep genest om te verwerken"
- "Dubbele sleutel
{key}— verwijder er één voordat je formatteert" (dubbele sleutels leiden tot een foutmelding in plaats van een automatische samenvoeging).
Niet-standaard formaten repareren
De tool kan verschillende niet-standaard JSON-formaten detecteren en herstellen via de functie "Fix bekijken". Dit opent het "Reparatievoorbeeld" waarin de weergaven "Origineel" and "Na de fix" naast elkaar worden getoond. De volgende structuren worden gedetecteerd:
| Gedetecteerd formaat | Melding in de interface | Actie bij toepassen |
|---|---|---|
| Markdown codeblok | "Dit lijkt op JSON in een Markdown-codeblok." | "Bij toepassen blijft alleen het JSON binnen het codeblok over." |
| Ge-escapete string | "Dit lijkt op JSON dat als string is ge-escapet." | "Bij toepassen wordt de string ge-unescapet naar gewoon JSON." |
| Python-dictionary | "Dit lijkt eerder op een Python-dictionary dan op JSON." | "Bij toepassen worden aanhalingstekens en True/False/None herschreven als JSON." |
| JSON Lines | "Dit lijkt op JSON Lines — één waarde per regel." | "Bij toepassen worden de regels samengevoegd tot één JSON-array." |
| JSONP callback | "Dit lijkt op JSON in een JSONP-callback." | "Bij toepassen wordt de callback-wrapper verwijderd." |
| JSONC met commentaar | "Dit lijkt op JSONC — commentaar of afsluitende komma's. Zet de syntaxis op JSONC of pas de fix toe." | "Bij toepassen worden commentaar en afsluitende komma's verwijderd." |
Voor overige algemene reparaties geldt de melding "Bij toepassen wordt de invoer vervangen door het gerepareerde JSON.". Na het klikken op "Fix toepassen" verschijnt de melding "Fix toegepast. Druk op Ctrl/Cmd+Z om ongedaan te maken.". Als een automatische reparatie onmogelijk is, toont de tool "Deze invoer kon niet automatisch worden gerepareerd.". Bij zeer grote bestanden kan het voorbeeld worden ingekort met de melding "Voorbeeld ingekort — de fix geldt voor het hele document.".
Sleutels sorteren
De tool biedt de mogelijkheid om de structuur van JSON-objecten te ordenen via de knop "Sleutels sorteren". De bijbehorende tooltip verduidelijkt de werking: "Sorteert objectsleutels recursief op codepuntvolgorde. De volgorde van arrays verandert nooit.".
Na het uitvoeren van deze sortering toont de editor de statusmelding "Sleutels gesorteerd — arrayvolgorde ongewijzigd. Druk op Ctrl/Cmd+Z om ongedaan te maken.".
Bestanden openen en verwerkingslimieten
Gegevens kunnen rechtstreeks in de editor worden geplakt of worden ingeladen via de knop "Bestand openen" of door een bestand te slepen naar het vlak met de tekst "Sleep hier een.json- of.txt-bestand naartoe". Bij het succesvol laden van een bestand verschijnt de melding "{name} geladen ({size}).".
Bij het werken met bestanden en grote datasets gelden strikte limieten en foutcondities:
- Bestandsgrootte limiet: De maximale invoergrootte die de tool kan verwerken is 10 MiB. Als een bestand deze limiet overschrijdt, verschijnt de foutmelding "Het bestand is te groot — de limiet is
{limit}." of "De invoer is groter dan{limit}; dat is meer dan deze tool kan verwerken.". - Bestandstype: Alleen bestanden met de extensie
.jsonof.txtworden ondersteund. Bij afwijkende formaten toont de tool "Niet-ondersteund bestandstype — kies een.json- of.txt-bestand.". - Codering: Bestanden moeten UTF-8 gecodeerd zijn. Als dit niet het geval is, verschijnt de melding "Dit bestand is geen UTF-8-tekst en kan hier daarom niet worden geopend.".
- Leesfouten: Indien het bestand onleesbaar is, geldt de foutmelding "Kon dit bestand niet lezen. Probeer het opnieuw te kiezen.".
- Time-out: Het controleren van JSON-data kent een synchrone verwerkingsdrempel van 250.000 tekens. Duurt de controle te lang, dan wordt het proces afgebroken met de melding "Het controleren van deze JSON duurde te lang en is gestopt. Probeer een kleiner document.".
- Boomstructuur limieten: De boomstructuur kan niet onbeperkt renderen. Bij overschrijding van de limieten voor het aantal knopen of de nestingsdiepte toont de interface "Deze JSON is te groot om als boomstructuur weer te geven." of "Deze JSON bevat te veel waarden om als boom weer te geven.". Bij het volledig uitklappen van een grote boomstructuur wordt de weergave gecapt met de melding "Deze JSON is te groot om volledig uit te klappen — de eerste
{count}rijen worden getoond.". Handmatig uitbreiden kan daarna via de knop "Nog{count}tonen…".
Wanneer er acties worden opgevraagd zonder dat er data aanwezig is, toont de tool de waarschuwing "Plak of open eerst wat JSON.". De statusbalk start standaard met de melding "Gereed. Plak JSON en kies een actie.". De editor kan volledig worden leeggemaakt met de knop "Wissen", waarna de melding "Editor leeggemaakt." verschijnt. Het resultaat kan lokaal worden opgeslagen via de knop "Downloaden", wat wordt bevestigd met de melding "{name} gedownload.".
Privacy en verwerking
Je JSON wordt in je browser verwerkt. Er wordt niets naar BroBroGo geüpload. Alle bewerkingen, validaties en transformaties vinden lokaal plaats op het apparaat van de gebruiker.
Veelgestelde vragen
Wordt mijn JSON geüpload?
Nee. De formatter draait volledig in je browser en uploadt je JSON-data niet.
Wat doet minify?
Minify verwijdert overbodige spaties en regeleinden, terwijl de JSON-data inhoudelijk exact hetzelfde blijft.
Wat gebeurt er als mijn JSON-bestand groter is dan 10 MiB?
De tool kan bestanden groter dan 10 MiB niet openen of verwerken. Er verschijnt dan een foutmelding die aangeeft dat de limiet is overschreden.
Waarom kan ik mijn bestand niet openen als het geen UTF-8 is?
De tool vereist strikt UTF-8 gecodeerde tekstbestanden om de JSON-data correct te kunnen inlezen en verwerken. Bestanden met andere coderingen worden geweigerd met een foutmelding.