JSON till Go â Generera structs
Konvertera JSON till Go-structs online med json-taggar, omitempty, pekartyper för valfria fÀlt och unmarshal-hjÀlpare. Gratis, snabbt och privat i webblÀsaren.
đ Körs helt i din webblĂ€sare â ingenting laddas uppGenerera Go-structs frĂ„n JSON
Att skriva Go-structs för hand till ett stort API-svar Àr lÄngsamt och felbenÀget. Den hÀr JSON till Go-konverteraren gör det direkt: klistra in ett JSON-exempel sÄ genereras exporterade struct-typer med korrekt skrivna fÀltnamn och json-struct-taggar som kopplar varje fÀlt till dess ursprungliga nyckel. NÀstlade objekt blir egna namngivna structs, arrayer blir slices, heltal och flyttal skiljs Ät som int64 och float64, och ISO 8601-tidsstÀmplar kÀnns igen som time.Time. Resultatet Àr redo för encoding/json utan vidare redigering.
Verktyget drivs av quicktype, som tittar pĂ„ varje element i varje array innan en typ vĂ€ljs. Om ett objekt i en lista har ett fĂ€lt som de andra saknar blir fĂ€ltet en pekare, sĂ„ att nollvĂ€rdet och det saknade vĂ€rdet gĂ„r att skilja Ă„t â en detalj som enklare konverterare med en enda genomgĂ„ng ofta missar.
Alternativ som spelar roll i Go
Ange package-namnet sĂ„ att filen kompilerar dĂ€r du placerar den. Aktivera omitempty nĂ€r du ocksĂ„ serialiserar structs tillbaka till JSON och vill att frĂ„nvarande valfria fĂ€lt ska förbli frĂ„nvarande. Som standard lĂ€gger generatorn till smĂ„ hjĂ€lpfunktioner, Unmarshal⊠och Marshal, runt rottypen; markera Structs only om du hellre anropar json.Unmarshal sjĂ€lv och bara behöver typerna. Byt namn pĂ„ rotstructen frĂ„n Root till det domĂ€nnamn du vill ha â till exempel Repository eller WebhookEvent.
SÄ fÄr du bÀsta resultat
Mata konverteraren med ett representativt exempel: en array med flera element, ifyllda valfria fÀlt och nÀstlade objekt som inte Àr tomma. Tomma arrayer och null-vÀrden ger inferensen inget att gÄ pÄ och faller tillbaka pÄ interface{}. NÀr du har klistrat in koden kör du gofmt, granskar numeriska typer dÀr exemplet kanske inte visar hela vÀrdeintervallet och ersÀtter generiska strÀngar med egna typer dÀr ditt API dokumenterar fasta vÀrden. Eftersom all bearbetning sker i webblÀsaren lÀmnar interna data eller kunddata aldrig din dator.
Hur man anvÀnder
- Klistra in JSONKlistra in ett API-svar eller valfritt JSON-dokument, eller ladda exemplet.
- VÀlj alternativAnge rotstructens namn och paketet, och bestÀm om omitempty och hjÀlpfunktioner ska anvÀndas.
- Kopiera structsKopiera Go-koden eller ladda ner en .go-fil och kör gofmt som vanligt.
Vanliga frÄgor
LĂ€ggs json-struct-taggar till?
`json:"key"`-tagg som bevarar den ursprungliga JSON-nyckeln, och du kan lÀgga till ,omitempty pÄ valfria fÀlt med en enda kryssruta.Hur hanteras valfria fÀlt och null?
*string, sÄ att du kan skilja ett saknat vÀrde frÄn ett nollvÀrde.Vad gör hjÀlpfunktionerna?
UnmarshalRoot och Marshal. Markera Structs only om du bara vill ha typdeklarationerna.