Heim >Backend-Entwicklung >Golang >Wie extrahiere ich eine IP-Adresse aus einer JSON-HTTP-Antwort in Golang?
JSON-HTTP-Antworten mit Golang analysieren
Das Parsen von JSON-HTTP-Antworten in Go ermöglicht es Entwicklern, Daten effizient zu extrahieren und zu verarbeiten. Diese Frage befasst sich mit einem Szenario, in dem ein Benutzer versucht, die IP-Adresse aus einer JSON-Antwort zu extrahieren.
Der bereitgestellte Go-Code versucht, den JSON mithilfe der json.Unmarshal-Funktion zu analysieren. Allerdings weist es die dekodierten Daten einer Struktur svc zu, die die JSON-Struktur nicht genau widerspiegelt.
Um das JSON korrekt zu analysieren, sollten Sie Strukturen definieren, die die JSON-Struktur widerspiegeln, wie im folgenden Code gezeigt:
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"` }
Sobald Sie die Strukturen definiert haben, können Sie json.NewDecoder verwenden, um die JSON-Antwort in eine Instanz des Beispiels zu dekodieren struct:
r := bytes.NewReader(m) decoder := json.NewDecoder(r) val := &Example{} err := decoder.Decode(val)
Mit diesem Ansatz können Sie auf die IP-Adresse zugreifen, indem Sie die Teilmengen- und Adressabschnitte innerhalb der analysierten Beispielstruktur durchlaufen:
for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } }
Das obige ist der detaillierte Inhalt vonWie extrahiere ich eine IP-Adresse aus einer JSON-HTTP-Antwort in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!