JSON-HTTP-Antworten in Go analysieren
In diesem Artikel befassen wir uns mit einer häufigen Codierungsherausforderung: dem Parsen von JSON-Antworten von HTTP-Anfragen in die Programmiersprache Go. Wir gehen ein Beispiel durch, um Ihnen zu helfen, die Antwort zu entschlüsseln und bestimmte Werte zu extrahieren, wie zum Beispiel das „ip“-Feld.
Betrachten Sie die folgende Curl-Ausgabe als Beispiel:
{ "type":"example", "data":{ "name":"abc", "labels":{ "key":"value" } }, "subsets":[ { "addresses":[ { "ip":"192.168.103.178" } ], "ports":[ { "port":80 } ] } ] }
Unser Ziel ist es, den Wert des Felds „ip“ aus dieser Antwort abzurufen.
Strukturbasiertes JSON Dekodierung
Um die JSON-Antwort zu dekodieren, erstellen wir Strukturen, die die JSON-Struktur widerspiegeln. Strukturen in Go dienen als Vorlagen für unsere Daten und definieren deren Form und Felder.
Hier ist ein Beispielcode, der die strukturbasierte JSON-Dekodierung demonstriert:
type Example struct { Type string `json:"type,omitempty"` Subsets []Subset `json:"subsets,omitempty"` } type Subset struct { Addresses []Address `json:"addresses,omitempty"` } type Address struct { IP string `json:"IP,omitempty"` } func main() { jsonResponse := `{ "type": "example", "data": { "name": "abc", "labels": { "key": "value" } }, "subsets": [ { "addresses": [ { "ip": "192.168.103.178" } ], "ports": [ { "port": 80 } ] } ] }` r := bytes.NewReader([]byte(jsonResponse)) decoder := json.NewDecoder(r) val := &Example{} err := decoder.Decode(val) if err != nil { log.Fatal(err) } for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } } }
Dekodierung eines bestimmten Schlüssels
Im obigen Code verwenden wir eine Struktur namens „Example“, um der Struktur der JSON-Antwort zu entsprechen. Mithilfe des Decoders können wir dann die Antwort in unsere Beispielstruktur dekodieren.
Um den „ip“-Wert zu extrahieren, greifen wir auf den Addresses-Slice zu, der ein Slice von Adressstrukturen ist. Jede Adressstruktur enthält das „ip“-Feld, sodass wir seinen Wert ausdrucken können.
Durch Befolgen dieser Schritte können Sie JSON-HTTP-Antworten in Go effektiv analysieren und bestimmte Datenwerte abrufen, wie das „ip“-Feld in dieses Beispiel. Denken Sie immer daran, Strukturen zu erstellen, die der JSON-Struktur entsprechen, und einen Decoder zu verwenden, um sie mit den Antwortdaten zu füllen.
Das obige ist der detaillierte Inhalt vonWie analysiere ich ein „ip'-Feld aus einer JSON-HTTP-Antwort in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!