UTILS.
100% in de browser
⊞}

JSON afvlakken / herstellen

Vlak geneste JSON af tot sleutels in puntnotatie, of bouw geneste objecten weer op uit platte sleutels.

— uitvoer verschijnt hier —

Over deze tool

JSON Flatten / Unflatten is een gratis tool die volledig in je browser draait en geneste JSON omzet in een map van één niveau met sleutels in puntnotatie, en de geneste structuur weer opbouwt vanuit die platte sleutels. Plak JSON en kies een richting: Flatten vouwt elk pad samen in één plat object (bijvoorbeeld user.name of user.roles.0), terwijl Unflatten sleutels met punten weer uitvouwt naar geneste objecten en arrays.

Beide richtingen parseren je invoer met de eigen JSON-parser van de browser en pretty-printen het resultaat met een inspringing van twee spaties. Objecten en arrays worden recursief doorlopen, array-items behouden hun numerieke index in het pad, en bladwaarden — strings, getallen, booleans, null, en lege objecten of arrays — blijven ongewijzigd behouden. Ongeldige JSON toont een inline fout in plaats van uitvoer, en met een kopieerknop zet je het resultaat op je klembord.

Alles draait lokaal in JavaScript: geen uploads, geen accounts, geen tracking, en het werkt offline. Flatten is handig om config om te zetten in platte sleutel-waardeparen zoals omgevingsvariabelen of i18n-berichtenbestanden, om diep geneste payloads te diffen of om API-responses te herstructureren, en unflatten keert dezelfde mapping om.

Veelgestelde vragen

Hoe worden arrays behandeld?
Array-elementen gebruiken hun numerieke index in de sleutel, zoals items.0.name. Bij het unflatten wordt elk padsegment dat volledig uit cijfers bestaat behandeld als een array-index, dus die onderdelen worden weer opgebouwd als arrays.
Worden mijn gegevens geüpload?
Nee. Het parseren en converteren draait volledig in het JavaScript van je browser, er wordt niets naar een server gestuurd, en de tool blijft offline werken.
Wat gebeurt er met lege objecten en arrays?
Ze worden behandeld als bladwaarden en behouden zoals ze zijn bij hun sleutel, dus een leeg {} of [] overleeft het flatten ongewijzigd in plaats van te worden uitgevouwen naar diepere sleutels.
Levert flatten en daarna unflatten altijd de oorspronkelijke JSON op?
Bijna altijd, maar twee gevallen verschillen: een sleutel die al een punt bevat, splitst bij het unflatten in extra nesting, en een objectsleutel die alleen uit cijfers bestaat, wordt opgebouwd als array-index in plaats van als objectsleutel.

Meer tools