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!