Ugrás a tartalomhoz

JSON Go Structra

A JSON minta Go struktura definíciókra konvertálása levezetett típusokkal és tagokkal.

Bemenet
Kimenet

JSON Go Structra

Illesszen be egy JSON mintát, és ez az eszköz megfelelő Go struktura definíciókat generál json tagokkal. Az int, float64, string, bool és null értékeket minden mezőhöz levezeti, megnevezett vagy beágyazott struktúrákat hoz létre beágyazott objektumokhoz, és meghatározza a szelet típusait tömbökhez — beleértve az objektumok szeleteit, amelyeknek saját újrafelhasználható struktúrájuk van.

Az opciók alakítják a generált kódot. Nevezze el a gyökér struktúrát saját maga, vagy hagyja, hogy az eszköz levezesse azt. Válassza ki, hogyan írja meg a tagokat — tartsa meg az eredeti kulcsot, vagy alakítsa át snake_case vagy camelCase formátumra, függetlenül az eredeti mezőnév formátumától. Engedélyezze az "omitempty hozzáadása" funkciót, hogy hozzáadja azt minden taghoz, és a "Mutatók opcionális mezőkhöz" funkciót a mintában hiányzó vagy null értékű mezők mutató típussal való megjelöléséhez. Ha a tömbelemek kissé eltérő mezőkkel rendelkeznek, az "Tömbelemek alakzatainak összevonása" lehetőség egy struktúrában kombinálja őket az extra mezőkkel opcionálisként megjelölve ahelyett, hogy feladná az elem típust. Az olyan értékeknél, amelyeket az eszköz nem tud meghatározni, válassza az interface{}, az any aliasnevet vagy a json.RawMessage értéket a késleltetett dekódoláshoz.

Ez az API-kliens vagy config-betöltő írása előtti lépés a Go-ban: illesszen be egy valódi választ vagy config-mintát, és szerezzen egy kezdeti struktúrát ahelyett, hogy kézzel írná be a mezőneveket és tagokat. A beágyazott struktúrák külön elnevezett típusokként maradhatnak más helyen való újrafelhasználáshoz a csomagban, vagy beágyazottan jeleníthetők meg, ha egy alakzat csak egyszer használatos. Az olyan mezőkhez, amelyeknek a tagja már nem felel meg az eredeti JSON-kulcsnak, az eredeti kulccsal rendelkező megjegyzés érhető el.

Minden helyileg fut a böngészőjében — az Ön által beillesztett JSON, amely valódi API-válaszokat vagy belső konfigurációt tartalmazhat, soha nem kerül fel. Másolja ki az eredményt, töltse le .txt fájlként, vagy vigye vissza a kimenetet a bemenetbe, hogy finomítsa a mintát és újra generálja.

Gyakori kérdések

Kezeli a beágyazott objektumokat és tömböket?
Igen. A beágyazott objektumok saját elnevezett struktúrává válnak (vagy beágyazott anonimmá, ha engedélyezi), a tömbök szeletekké válnak, és az objektumok szeletei egy struktúrát használnak újra, amikor minden elem ugyanolyan alakzattal rendelkezik.
Mi történik, ha a tömbelemek nem ugyanazokkal a mezőkkel rendelkeznek?
A "Tömbelemek alakzatainak összevonása" lehetőség engedélyezve (alapértelmezett) az eszköz az elemekben látott összes mezőt egy struktúrában kombinálja, megjelölve az opcionálisként hiányzó mezőket. Tiltsa le ezt, és az eszköz egy dinamikus elem típusra esik vissza.
Tudom-e szabályozni, hogyan nevezzem el a JSON tagokat?
Igen, a JSON tag formátum beállítással: tartsa meg az eredeti kulcsot pontosan úgy, ahogy a mintában megjelenik, vagy alakítsa át az egyes kulcsokat snake_case vagy camelCase formátumra.
Milyen típust kapok egy olyan mezőhöz, amelyet az eszköz nem tud meghatározni?
interface{}, az any aliasnév vagy json.RawMessage, attól függően, hogy melyik beállítást választja — a RawMessage akkor hasznos, ha később saját maga szeretné dekódolni ezt a mezőt.
Fel van töltve a JSON valahova?
Nem. A struktura generálása teljesen helyileg fut a böngészőjében — az Ön által beillesztett JSON soha nem hagyja el az eszközét.