JSON-invoer

Go-uitvoer

Wat is JSON naar Go?

Je hebt net een REST-API aangeroepen in Postman, de response is JSON, en je moet dat unmarshallen in Go — maar handmatig een struct schrijven voor een diep geneste response is echt vervelend. JSON en het encoding/json-pakket van Go werken prima samen, maar Go vereist expliciete struct-definities voor elk genest object. Een veld vergeten of een type verkeerd hebben zorgt ervoor dat unmarshal stilletjes nulwaarden teruggeeft. Deze tool genereert de volledige struct-boom vanuit je JSON zodat je die direct in je project kunt plakken.

Deze tool genereert Go-structs uit je JSON. Stel struct- en package-naam in het configuratiepaneel in. Activeer JSON Tags voor json:"field_name" zodat struct-velden correct worden gemapt naar camelCase- of snake_case-sleutels. Activeer Pointers voor optionele of nullable velden om tussen nulwaarde en ontbrekend te onderscheiden. De uitvoer is klaar om in je project te plakken en te gebruiken met json.Unmarshal().

De conversie draait volledig in je browser. Je JSON wordt nooit naar een server gestuurd. Je kunt dit controleren via het Netwerk-tabblad van je browser.

Hoe deze tool te gebruiken

1

JSON plakken of uploaden

Kopieer je JSON en plak het in de linker editor. Je kunt ook op Uploaden klikken om een .json- of .txt-bestand te laden. Gebruik de Voorbeeld-knop voor voorbeelddata. Stel in het configuratiepaneel de structnaam (bijv. User) en package-naam (bijv. models) in. Activeer JSON Tags voor json:"key" struct-tags. Activeer Pointers voor optionele of nullable velden.

2

Gegenereerde structs controleren

Het rechterpaneel toont de gegenereerde Go-structs. Geneste objecten worden geneste of aparte structs. Arrays worden []Type. JSON-tags mappen struct-velden naar JSON-sleutels. Gebruik json.Unmarshal(data, &v) om je JSON te parsen. Bij ongeldige JSON-syntax: eerst de JSON Formatter of de JSON Validator gebruiken.

3

Kopiëren of downloaden

Gebruik Kopiëren om het resultaat op het klembord te zetten, of Downloaden om het als .go-bestand op te slaan. Plak het in je Go-project. Mogelijk moet je imports of package-namen aanpassen.

JSON naar Go-voorbeelden

Hier een voorbeeld van het genereren van Go-structs uit een JSON-object.

Voorbeeld: Abonnee-record

JSON-invoer:

Invoer

Gegenereerde Go-uitvoer:

Uitvoer

Wanneer JSON naar Go helpt

De meeste ontwikkelaars hebben dit nodig bij API-integratie. Je stuurt een verzoek via Postman of curl, en de response komt als JSON. Hier plakken levert getypeerde structs voor encoding/json. Voor het extraheren van specifieke waarden uit grote responses werkt jq goed op de commandoregel.

Configuratiebestanden zijn een ander veelvoorkomend geval. Een config.json of settings.json met geneste objecten heeft vaak een Go-struct nodig voor type-safe toegang. Voor het samenvoegen van twee JSON-bestanden: eerst de tool JSON Samenvoegen gebruiken.

Database-exporten van MongoDB, Firestore of CouchDB zijn typisch grote JSON-blobs. Deze hier doorheen halen helpt de documentstructuur te begrijpen en Go-structs te genereren voor importscripts of queries.

Veelgestelde vragen

Hoe genereer ik automatisch Go-structs vanuit JSON?

Plak je JSON in deze tool en het genereert direct Go-structs. Activeer JSON Tags zodat de veldnamen correct worden gemapt naar de JSON-sleutels. Kopieer het resultaat naar je Go-project — klaar om te gebruiken met json.Unmarshal().

Waarom hebben Go-structs JSON-tags nodig?

Go-struct-veldnamen moeten geëxporteerd (met hoofdletter) zijn voor JSON. JSON gebruikt vaak camelCase of snake_case. De tag json:"fieldName" vertelt encoding/json welke JSON-sleutel bij welk veld hoort. Zonder tags doet json.Unmarshal case-insensitive matching — wat velden stil kan missen.

Worden mijn gegevens ergens naartoe gestuurd?

Nee. Alles draait in je browser — je JSON verlaat je machine nooit. Je kunt dit controleren via het Netwerk-tabblad van je browser. Veilig voor productiedata.

Hoe zit het met omitempty?

Voeg omitempty toe aan de JSON-tag voor velden die je niet in de uitvoer wilt als ze leeg zijn: json:"name,omitempty". De generator voegt het standaard niet toe — bewerk de uitvoer daarna naar behoefte.

Wanneer gebruik je pointers voor struct-velden?

Gebruik *Type voor optionele of nullable velden. Met een pointer geeft een afwezig JSON-veld nil terug, wat je kunt controleren. Zonder pointers krijg je de nulwaarde en kun je niet zien of het veld ontbrak of gewoon leeg was.

Gerelateerde tools

Voor Go-JSON-verwerking: encoding/json. Voor JSON: JSON-specificatie, RFC 8259. Voor overzicht: MDN JSON. Voor API-tests: Postman. Voor Go-struct-tags: Go-specificatie. Zie ook jq voor JSON-verwerking.