Golang Parse Json

Golang Parse Json
GO gir koding/JSON -pakken som lar deg jobbe med JSON -data. JSON er et kraftig og utrolig datautvekslingsformat.

I denne artikkelen vil vi lære hvordan du kan analysere JSON -data ved hjelp av koding/JSON -pakken.

Golang Unmarshal

Unmarshal er det motsatte av marskalk. Det lar deg konvertere byte -data til den opprinnelige datastrukturen.

I Go, JSON.Unmarshal () -metode håndterer unmarshaling.

Tenk på et eksempel JSON -streng som:

"Full_name": "John Doe", "Age": 32, "pensjonert": False, "Lønn": 140000

La oss starte med å lage en struktur for å matche byte -koden etter at vi har utført Unmarshal.

Skriv brukerstruktur
Full_name String 'json: "full_name"'
Aldersstreng 'Json: "Alder"'
Pensjonert bool 'Json: "Pensjonert"'
Lønn Int 'JSON: "Lønn"'

Neste trinn er å opprette JSON -strengen til byte -kode. Når vi har byte -koden, kan vi unmarshal den til en struktur.

user_info_bytes: = [] byte (user_info)

Når vi har byte -koden, kan vi unmarshall den til struct.

var ansattes bruker
JSON.Unmarshal (user_info_bytes, og ansatt)

Når vi har strukturen, kan vi få tilgang til verdiene som:

fmt.Println (ansatt.Fullt navn)
fmt.Println (ansatt.Alder)
fmt.Println (ansatt.Pensjonert)
fmt.Println (ansatt.Lønn)

Ovennevnte kode skal returnere:

John Doe
32
falsk
140000

Den fulle kildekoden er som vist nedenfor:

func unmarshal_struct ()
user_info: = '"full_name": "John doe", "alder": 32, "pensjonert": falsk, "lønn": 140000'
Skriv brukerstruktur
Full_name String 'json: "full_name"'
Aldersstreng 'Json: "Alder"'
Pensjonert bool 'Json: "Pensjonert"'
Lønn Int 'JSON: "Lønn"'

user_info_bytes: = [] byte (user_info)
var ansattes bruker
JSON.Unmarshal (user_info_bytes, og ansatt)
fmt.Println (ansatt.Fullt navn)
fmt.Println (ansatt.Alder)
fmt.Println (ansatt.Pensjonert)
fmt.Println (ansatt.Lønn)

Konklusjon

Dette var en kort guide som illustrerer hvordan du konverterer JSON -data til en struktur. For å lære mer, sjekk opplæringen vår om Golang Marshal og Unmarshal.

Takk for at du leser og lykkelig koding!