JSON-HTTP-Antwort mit Golang analysieren: Den Wert von „ip“ abrufen
In diesem Artikel befassen wir uns mit einem Problem im Zusammenhang mit dem Parsen JSON-HTTP-Antworten in Golang und insbesondere, wie der Wert von „ip“ aus einer JSON-Beispielausgabe abgerufen wird, die der in der bereitgestellten ähnelt Frage.
Ziel ist es, ein Programm zu erstellen, das die IP-Adresse aus der JSON-Antwort extrahieren und auf der Konsole ausdrucken kann. Um dies zu erreichen, nutzen wir die integrierte JSON-Parsing-Funktionalität von Golang.
Beginnen wir mit der Definition einer benutzerdefinierten Struktur namens „Example“, die die Struktur der JSON-Antwort widerspiegelt. Diese Struktur enthält Felder für „Typ“, „Daten“ und „Teilmengen“. Ebenso werden wir verschachtelte Strukturen für Subset und Address definieren, um die jeweiligen Teile der JSON-Antwort zu umfassen.
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"` }
In der main()-Funktion lesen wir die JSON-Antwort aus der HTTP-Anfrage und dekodieren sie in die Beispielstruktur ein. Dazu wird der Typ json.Decoder verwendet, um den Bytestrom des Antworttexts zu analysieren.
m := []byte(`{...}`) // Sample JSON response from HTTP request body r := bytes.NewReader(m) decoder := json.NewDecoder(r) val := &Example{} err := decoder.Decode(val) if err != nil { log.Fatal(err) }
Sobald die JSON-Antwort in die Beispielstruktur dekodiert ist, können wir durch Iteration auf den „ip“-Wert zugreifen die Teilmengen- und Adress-Slices.
for _, s := range val.Subsets { for _, a := range s.Addresses { fmt.Println(a.IP) } }
Die Ausgabe dieses Programms ist der gewünschte „IP“-Wert, der in diesem Beispiel lautet „192.168.103.178.“
Mit diesem Ansatz können wir JSON-HTTP-Antworten analysieren und bestimmte Werte wie „ip“ mithilfe der JSON-Parsing-Funktionen von Golang auf saubere und effiziente Weise abrufen.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich den „ip'-Wert aus einer JSON-HTTP-Antwort in Golang?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!