Preskočiť na obsah

JSON na Go štruktúru

Premení vzorku JSON na definície Go štruktúr s odvodenými typmi a značkami.

Vstup
Výstup

JSON na Go štruktúru

Vložte vzorku JSON a tento nástroj vygeneruje zhodujúce sa definície Go štruktúr so značkami json. Odvodí int, float64, string, bool a null pre každé pole, vytvorí pomenované alebo vložené štruktúry pre vnorené objekty a určí typy rezov pre polia — vrátane rezov objektov, ktoré majú svoju vlastnú opätovne použiteľnú štruktúru.

Voľby tvoria vygenerovaný kód. Pomenujte koreňovú štruktúru sami, alebo nechajte nástroj, aby ju odvodil. Vyberte si, ako budú značky napísané — ponechajte pôvodný kľúč, alebo ho preveďte na snake_case alebo camelCase bez ohľadu na to, ako bol pôvodný názov poľa. Zapnite "Pridať omitempty" a pridá sa k každej značke, a "Ukazovatele pre voliteľné polia" označia polia chýbajúce alebo null v častiach vzorky so značkou ukazovateľa. Keď objekty poľa majú mierne odlišné polia, "Spájať tvary prvkov poľa" ich skombinuje do jednej štruktúry s dodatočnými polami označenými ako voliteľné namiesto vzdania sa typu prvku. Pre hodnoty, ktoré nemôže nástroj určiť, vyberte interface{}, alias any alebo json.RawMessage na odložené dekódovanie.

Toto je krok pred napísaním klienta API alebo zásuvky config v Go: vložte skutočnú odpoveď alebo vzorku config a získate počiatočnú štruktúru namiesto ručného zadávania názvov polí a značiek. Vnorené štruktúry môžu ostať ako samostatné pomenované typy na opätovné použitie inde v balíku, alebo sa vykreslia inline, keď sa tvar používa iba raz. Pre polia, ktorých značka už nezodpovedá pôvodnému kľúču JSON, je dostupný komentár s pôvodným kľúčom.

Všetko beží lokálne vo vašom prehliadači — JSON, ktorý vložíte, ktorý by mohol obsahovať skutočné odpovede API alebo interné config, sa nikdy neukladá. Skopírujte výsledok, stiahnite si ho ako súbor .txt alebo presuňte výstup späť do vstupu, aby ste vzorku upravili a opätovne vygenerovali.

Časté otázky

Zvláda vnorené objekty a polia?
Áno. Vnorené objekty sa stanú svojou vlastnou pomenovanou štruktúrou (alebo vloženou anonymnou, ak ju povolíte), polia sa stanú rezmi a rez objektov opätovne použije jednu štruktúru, keď každý prvok zdieľa ten istý tvar.
Čo sa stane, keď objekty poľa nemajú všetky rovnaké polia?
S "Spájať tvary prvkov poľa" zapnuté (predvolené), nástroj skombinuje každé pole, ktoré videl naprieč prvkami, do jednej štruktúry, pričom pole, ktoré chýbalo v niektorých prvkoch, označí ako voliteľné. Vypnite to a nástroj sa vráti k dynamickému typu prvku.
Môžem kontrolovať, ako sú pomenované JSON značky?
Áno, s voľbou formátu JSON značky: ponechajte pôvodný kľúč presne tak, ako sa vyskytuje vo vzorke, alebo preveďte každý kľúč na snake_case alebo camelCase.
Aký typ dostávam pre pole, ktoré nástroj nedokáže odvodiť?
interface{}, alias any alebo json.RawMessage, v závislosti od voľby, ktorú si vyberiete — RawMessage je užitočné, keď chcete toto pole dekódovať neskôr sami.
Je môj JSON niekde nahrievaný?
Nie. Generovanie štruktúr beží úplne vo vašom prehliadači — JSON, ktorý vložíte, nikdy neopustí vaše zariadenie.