JSON è uno dei formati di interscambio di dati più popolari. È semplicistico, leggibile dall'uomo e molto flessibile. È una scelta eccellente per le API e la maggior parte dei dati di trasferimento. Il dispositivo che hai è probabilmente utilizzato JSON per eseguire un'attività specifica.
In tal caso, imparare a lavorare con JSON è importante. In questa guida, impareremo come lavorare.
Maresciallo di Golang
La codifica e la decodifica delle informazioni JSON in GO sono fornite dal pacchetto di codifica/JSON. Fa parte della libreria standard; Quindi non è necessario installarlo.
Dovrai importarlo, però, prima di poterlo usare.
Il pacchetto EconDing/JSON codifica qualsiasi tipo di dati su una stringa JSON valida, come vedremo in questi esempi.
Prima di discutere come codificare le strutture di GO, iniziamo con i tipi di dati di base.
Funzione del maresciallo JSON
Quanto segue descrive la sintassi per la funzione del maresciallo come definito nel pacchetto.
func marshal (interfaccia v ) ([] byte, errore)La funzione prende qualsiasi tipo di dati come argomento. La funzione restituisce una fetta di byte e si riscontra un errore durante il processo del maresciallo.
Maresciallo int
Possiamo mettere in mare un tipo intero come mostrato nell'esempio seguente:
Pacchetto principaleNell'esempio sopra, iniziamo importando i pacchetti richiesti. Abbiamo bisogno della codifica/JSON, FMT e del pacchetto Reflect nel nostro esempio.
Usiamo il JSON.Metodo Marshal () al valore di maresciallo e intero. Noterai che la funzione restituisce un Unint8 (un numero intero senza segno a 8 bit) o byte. Dobbiamo lanciarlo su una stringa come mostrato nell'output di seguito:
$ go run marshall.andareQuesto restituisce una stringa intera.
String del maresciallo.
Possiamo mettere in mare un tipo di stringa come mostrato nell'esempio seguente:
funcmarshal_str ()Se eseguiamo il codice sopra, dovremmo mettere la stringa marshalling in una fetta di byte come:
String di marshalled: [34 76 105 110 117 120 104 105 110 116 34]Marshall Bool
Puoi anche maresciallo di un tipo booleano usando la funzione del maresciallo. Considera l'esempio seguente:
funcmarshal_bool ()Maresciallo galleggiante
Maresciallo un tipo fluttuante come mostrato:
funcmarshal_float ()Slice di maresciallo
L'esempio seguente illustra come marshalling una fetta in Go:
funcmarshal_slice ()Struttura sul maresciallo
Per maresciallo una struttura in Go, considera l'esempio seguente:
funcmarshal_struct ()La funzione di esempio sopra illustra come marshall un tipo di strumento in GO.
L'output risultante è come mostrato:
"Full_name": "John Doe", "Age": 32, "Refired": False, "Stipendio": 140000Quanto sopra rappresenta la struct marshalling in una stringa JSON valida.
Golang Unmarshal
Unmarshal è il contrario del maresciallo. Ti consente di convertire i dati di byte nella struttura dei dati originale.
In Go, lo sbalzo è gestito dal JSON.Metodo UnMarshal ().
Considera un esempio di stringa JSON come:
"Full_name": "John Doe", "Age": 32, "Refired": False, "Stipendio": 140000Iniziamo creando una struttura per abbinare il codice byte dopo aver eseguito lo sbalzo.
Digita utente structIl prossimo passo è creare la stringa JSON nel codice byte. Una volta che abbiamo il codice byte, possiamo slegarlo in una struttura.
user_info_bytes: = [] byte (user_info)Una volta che abbiamo il codice byte, possiamo smarrirlo nella struttura.
VAR Employee UserUna volta che abbiamo la struttura, possiamo accedere ai valori come:
fmt.Println (dipendente.Nome e cognome)Il codice sopra dovrebbe restituire:
John DoeIl codice sorgente completo è come mostrato di seguito:
func unmarshal_struct ()Conclusione
Il maresciallo e lo sbalzo rappresentano un importante requisito di trasformazione dei dati. Come programmatori, è importante familiarizzare su come eseguire tali operazioni. Questo tutorial serve a tale scopo con facilità.
Grazie per la lettura e la codifica felice!