Preskoči na vsebino
100% lokalno

JSON v Strukturo Go

Pretvori vzorec JSON v definicije strukture Go z izvedenimi tipi in oznakami.

Vhod
Izhod

JSON v Strukturo Go

Prilepite vzorec JSON in to orodje bo ustvarilo ustrezne definicije strukture Go z oznakami json. Izpelje int, float64, string, bool in null za vsako polje, ustvari poimenovane ali vgnezdene strukture za gnezdene predmete in določi vrste rezin za polja — vključno s rezinami predmetov, ki imajo lastno ponovno uporabno strukturo.

Možnosti oblikujejo ustvarjeno kodo. Poimenujte korensko strukturo sami ali pustite, da jo orodje izvede. Izberite, kako se napišejo oznake — ohranite izvirni ključ ali ga pretvorite v snake_case ali camelCase, ne glede na to, kako je bilo izvirno polje poimenovano. Omogočite "Dodaj omitempty", da ga dodate vsaki oznaki, in "Kazalci za izbirna polja", da označite polja, ki manjkajo ali so null v delih vzorca s tipom kazalca. Ko imajo predmeti polja nekoliko drugačna polja, "Spoji oblike elementov polja" jih kombinira v eno strukturo z dodatnimi polji, označenimi kot izbirna namesto, da se odrekate tipa elementa. Za vrednosti, ki jih orodje ne more določiti, izberite interface{}, vzdevek any ali json.RawMessage za odloženo dekodiranje.

To je korak pred pisanjem odjemalca API ali nalagalnika konfiguracije v Go: prilepite resnični odgovor ali vzorec konfiguracije in dobite začetno strukturo namesto ročnega pisanja imen polj in oznak. Gnezdene strukture lahko ostanejo kot ločeni poimenovani tipi za ponovno uporabo drugje v paketu, ali se upodobijo kot vgnezdene, ko se oblika uporablja samo enkrat. Za polja, katerih oznaka se ne ujema več z izvirnim ključem JSON, je na voljo komentar s ključem origin.

Vse se izvršuje lokalno v vašem brskalniku — JSON, ki ga prilepite, ki bi lahko vseboval resnične odgovore API ali notranjo konfiguracijosnemam nikoli ne naložite. Kopirajte rezultat, ga prenesite kot datoteko .txt ali premaknite rezultat nazaj na vnos, da izboljšate vzorec in ga ponovno ustvarite.

FAQ

Ali obravnava gnezdene predmete in polja?
Da. Gnezdeni predmeti postanejo lastna poimenovana struktura (ali vgnezdena anonimna, če jo omogočite), polja postanejo rezine, in rezina predmetov ponovno uporabi eno strukturo, ko ima vsak element enako obliko.
Kaj se zgodi, če predmeti polja nimajo vseh enakih polj?
Z "Spoji oblike elementov polja" omogočeno (privzeto) orodje kombinira vsa polja, ki jih je videlo med elementi, v eno strukturo, označujoč polja, ki so manjkala v nekaterih elementih, kot izbirna. Onemogočite ga in orodje se vrne na dinamični tip elementa.
Ali lahko nadziram, kako so poimenovane oznake JSON?
Da, z možnostjo oblike oznake JSON: ohranite izvirni ključ natanko tako, kot se pojavi v vzorcu, ali pretvorite vsak ključ v snake_case ali camelCase.
Kakšen tip dobim za polje, ki ga orodje ne more izvesti?
interface{}, vzdevek any ali json.RawMessage, odvisno od izbrane možnosti — RawMessage je koristen, če želite to polje później dekodirati sami.
Ali se moj JSON nekje naloži?
Ne. Generiranje strukture se izvršuje v celoti v vašem brskalniku — JSON, ki ga prilepite, nikoli ne zapusti vašega naprave.