Go til JSON-konverter
Indsæt en Go struct plus en composite literal. Få ren JSON retur.
Hvad værktøjet gør
Du har en Go struct med json:"..."-tags og et sted en composite literal (order := Order{...}), og du har brug for den JSON-form som encoding/json ville producere. Indsæt begge dele i editoren til venstre og tryk Konverter. Værktøjet læser tags, anvender reglerne for omitempty og -, håndterer nil-pointere og giver dig JSON, der matcher det json.MarshalIndent ville spytte ud — så du slipper for turen gennem go run.
Det følger den ægte marshalling-semantik i Go, ikke naiv tekstudskiftning. Eksporterede feltnavne bliver omdøbt af første del af json-taggen. omitempty smider nulværdier væk (tom string, 0, false, nil, tom slice/map). En tag med - fjerner feltet helt. Embedded (anonyme) struct-felter bliver promoveret ligesom encoding/json gør det. time.Time kommer ud som en RFC 3339-streng i et RFC 8259-kompatibelt format, og byte-slices ([]byte) base64-kodes.
Numeriske typer følger Go-reglerne: float64 beholder sin præcision, int/int64 forbliver tal, og en nil-pointer bliver til JSON null. Slices bliver JSON-arrays; en nil-slice bliver også null (ikke []), hvilket matcher default-opførslen for Marshal. map[string]V bliver et JSON-objekt. Indsæt flere structs på en gang — hver instans ender som et top-level-entry.
Sådan bruger du det
Tre trin. Virker til en lille struct eller en hel <code>types.go</code>-fil.
Indsæt din Go (eller prøv eksemplet)
Smid struct-definitionerne plus en composite literal (order := Order{...}) ind i editoren til venstre. En enkelt struct, flere structs med embedded felter eller en package-niveau deklaration — alt det virker. Klik på Indlæs eksempel for et realistisk udgangspunkt.
Lad package-linjen og import-blokken stå — parseren ignorerer dem. Struct-tags, method receivers og kommentarer er ingen problem. Som reference: encoding/json.Marshal-docsen beskriver hver regel, værktøjet følger. Go-kildekode-reposet er et kig værd, hvis du rammer et edge case.
Tryk Konverter
Klik på den grønne Konverter-knap. Værktøjet parser struct-definitionerne, løser composite literal, anvender tag-reglerne og producerer indrykket JSON.
Kopiér JSON'en
Højre panel fyldes med JSON, der er klar til et API-request, en testtabel, en config-fil eller en fixture, du indlæser med os.ReadFile.
Hvornår det faktisk hjælper
Request/response-samples til HTTP-handlers
Du har en request- eller response-struct til en <code>net/http</code>- eller <code>gin</code>-handler. Indsæt den med en literal og få en JSON-body, du kan sende med curl eller indsætte i Postman.
Fixtures til table-driven tests
Konverter en struct-instans fra en table test til en fritstående JSON-fil til golden-file testing eller eksternt tooling.
Kubernetes CRDs og manifests
Lav en Go struct, der repræsenterer en custom resource eller et controller-payload, om til den JSON-form som <code>kubectl apply</code> eller Kubernetes-API'et bruger.
Kafka-, NATS- og gRPC-gateway-beskeder
Serialiser en Go message-struct til JSON til producer-tests, sample-payloads eller dokumentation — uden at starte hele pipelinen op.
Ofte stillede spørgsmål
Respekterer den json-struct-taggen?
Ja. Første tag-værdi omdøber feltet, omitempty smider nulværdier væk, og - ekskluderer feltet helt. Det matcher reglerne dokumenteret i encoding/json Marshal-referencen.
Hvordan håndteres time.Time og []byte?
time.Time formateres som RFC 3339 (f.eks. "2026-03-14T10:30:00Z"), magen til time.Time.MarshalJSON. []byte base64-kodes som JSON-streng — det er hvad standardbiblioteket gør som default.
Hvad med nil-pointere og nil-slices?
En nil-pointer bliver til JSON null. En nil-slice bliver også null (ikke []) — det er Go's default. Vil du have et tomt array, så initialiser slicen med []T{}.
Promoveres felter fra embedded (anonyme) structs?
Ja. Felter i en embedded struct flades ud i det ydre objekt — med mindre den embedded struct selv har en json-tag. Samme regler som encoding/json anvender.
Kan jeg indsætte en hel fil med flere structs?
Ja. Hver struct-type, der har en instans i det indsatte, ender som sin egen post i JSON'en. Nestede struct-typer udvides inline der, hvor de bruges.
Bliver min kode gemt nogen steder?
Koden sendes til backenden for at blive konverteret og bliver hverken gemt eller logget. Som med alle online-værktøjer — kast et blik på følsom kode før du indsætter den.
Andre værktøjer du kan få brug for
Go til JSON er kun én brik i puslespillet. De her spiller godt sammen med det: