Skip to main content
CheckTown
Data Tools

JSON Flatten: Convert Nested to Flat and Back

Gepubliceerd 5 min lezen
In dit artikel

Wat is JSON afvlakken?

JSON afvlakken converteert een diep genest JSON-object naar een platte sleutel-waarde structuur met puntnotatiepaden. Elke bladwaarde in het originele object krijgt een uniek pad zoals 'user.address.city' dat de positie in de hiërarchie beschrijft.

De omgekeerde bewerking, terugvouwen, neemt puntnotatiepaden en reconstrueert de oorspronkelijke geneste structuur. Samen stellen afvlakken en terugvouwen u in staat om JSON te transformeren tussen geneste en platte representaties zonder gegevensverlies.

Hoe JSON afvlakken werkt

Het afvlakkingsalgoritme doorloopt recursief de JSON-boom en bouwt een padreeks op terwijl het afdaalt in geneste objecten en arrays.

  • Recursieve doorloop — het algoritme doorloopt elke sleutel in het object en voegt elke sleutel toe aan een groeiend pad gescheiden door punten
  • Array-indexnotatie — array-elementen gebruiken haakjesnotatie zoals 'items[0].name' om hun positie in de afgevlakte uitvoer te behouden
  • Bladverzameling — wanneer een primitieve waarde (string, nummer, boolean, null) wordt bereikt, worden het volledige pad en de waarde opgeslagen als een plat sleutel-waarde paar

Probeer gratis — geen aanmelding vereist

JSON afvlakken of terugvouwen →

Wanneer JSON afvlakken gebruiken

Afgevlakte JSON is handig wanneer u met geneste gegevens moet werken in systemen die alleen platte structuren ondersteunen.

  • Databaseopslag — sla geneste configuratie of metadata op in platte sleutel-waarde tabellen zonder schemawijzigingen
  • CSV-export — converteer geneste JSON-records naar platte rijen geschikt voor spreadsheet-import of tabelweergave
  • Configuratievergelijking — vlak twee configuratiebestanden af en vergelijk de platte sleutels om snel te zien welke waarden zijn gewijzigd

Veelgestelde vragen

Behoudt afvlakken de gegevenstypen?

Ja. Alle primitieve waarden (strings, nummers, booleans, null) worden exact behouden. Arrays worden geïndexeerde paden zoals 'items[0]', en geneste objecten worden puntgescheiden paden. Terugvouwen reconstrueert de originele typen.

Wat gebeurt er bij zeer diepe nesting?

De afvlakker verwerkt elke nestingsdiepte. Zeer diepe objecten produceren lange padreeksen, maar er is geen functionele limiet. De meeste implementaties gebruiken iteratieve benaderingen om call stack-problemen te voorkomen.

Kan ik JSON met dubbele sleutels afvlakken?

JSON staat geen dubbele sleutels op hetzelfde niveau toe volgens de specificatie. Als uw parser ze accepteert, overleeft alleen de laatste waarde voor elke sleutel het parsen. De afvlakker werkt op het geparsde object, dus duplicaten zijn al opgelost.

Gerelateerde Tools