Input JSON

Output Go

Cos'è JSON in Go?

Go usa le struct per i dane strutturati. Quando fai l'unmarshal di JSON con encoding/json, hai bisogno di struct con campi e tipi corrispondenti. La specifica JSON definisce oggetti, array, stringhe, numeri e booleani—ma Go richiede definizioni di struct esplicite per ogni oggetto annidato.

Questo narzedzie genera struct Go dal tuo JSON. Imposta il nome della struct e il pacchetto nel pannello di configurazione. Abilita i tag JSON per json:"field_name" in modo che i campi della struct si mappino correttamente alle chiavi camelCase o snake_case. Abilita i puntatori per i campi opzionali o nullable.

La conversione viene eseguita interamente nel tuo browser. Il tuo JSON non viene mai inviato a un server.

Come usare questo narzedzie

1

Incolla o carica JSON

Kopiuj il tuo JSON e incollalo nell'editor sinistro. Puoi anche fare clic su Wczytaj per caricare un plik .json o .txt. Usa il pulsante Przyklad per caricare dane di esempio. Imposta il nome della struct e il nome del pacchetto nel pannello di configurazione.

2

Rivedi le struct generate

Il pannello di destra mostra le struct Go generate. Gli oggetti annidati diventano struct annidate o separate. Gli array diventano <code>[]Type</code>. I tag JSON mappano i campi della struct alle chiavi JSON. Se il tuo JSON ha sintassi non valida, correggila prima usando il Formater JSON o il Walidator JSON.

3

Kopiuj o scarica

Usa <strong>Kopiuj</strong> per mettere il risultato negli appunti, o <strong>Pobierz</strong> per salvarlo come plik <code>.go</code>. Incollalo nel tuo progetto Go.

Esempi JSON in Go

Ecco un esempio di generazione di struct Go da un oggetto JSON.

Przyklad: Record abbonato

Input JSON:

Input

Output Go generato:

Output

Quando JSON in Go è utile

La maggior parte degli sviluppatori ne ha bisogno quando integra API. Invii una richiesta tramite Postman o curl, e la risposta arriva come JSON. Incollarla qui ti dà struct tipizzate da usare immediatamente con encoding/json.

I plik di configurazione sono un altro caso comune. Un <code>config.json</code> o <code>settings.json</code> con oggetti annidati spesso richiede una struct Go per l'accesso type-safe. Se devi prima unire due plik JSON, usa lo narzedzie separato JSON Merge.

Le esportazioni di database da MongoDB, Firestore o CouchDB sono tipicamente grandi blob JSON. Elaborarli qui ti aiuta a capire la struttura del documento e generare struct Go per script di importazione o query.

czesto zadawane pytania

Dlaczego tagi JSON?

Nazwy pól struktur Go muszą być eksportowane (z wielkiej litery) dla JSON. JSON często używa camelCase lub snake_case. Tag json:"fieldName" mapuje pole struktury na klucz JSON. Włącz tagi JSON w konfiguracji, aby wygenerowane struktury działały poprawnie z json.Unmarshal i json.Marshal.

Wskaźniki dla opcjonalnych pól?

Jeśli pole JSON może być null lub brakujące, użyj *Type, aby rozróżnić między wartością zerową a brakiem. Bez wskaźników nie można tego odróżnić. Włącz Użyj wskaźników w konfiguracji dla pól opcjonalnych lub nullable.

Czy moje dane są gdzieś wysyłane?

Nie. Generowanie działa całkowicie w Twojej przeglądarce przy użyciu JavaScript. Żadne dane nie są wysyłane do żadnego serwera.

Co z omitempty?

Dodaj omitempty do tagu JSON dla pól, których nie chcesz w wynikach gdy są puste: json:"name,omitempty". Edytuj wyniki w razie potrzeby.

Interface{} dla dynamicznego JSON?

Dla nieznanej lub bardzo zmiennej struktury użyj map[string]interface{} lub interface{}. To narzędzie generuje typowane struktury dla znanych kształtów.

powiazane narzedzia

Per la gestione JSON di Go, vedi encoding/json. Per JSON, vedi la specifica JSON e RFC 8259. Per i test API, vedi Postman.