Heim >Backend-Entwicklung >Golang >Wie extrahiere ich den „ip'-Wert aus einer JSON-HTTP-Antwort in Golang?

Wie extrahiere ich den „ip'-Wert aus einer JSON-HTTP-Antwort in Golang?

Linda Hamilton
Linda HamiltonOriginal
2024-12-02 10:28:11923Durchsuche

How to Extract the

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn