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

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

Susan Sarandon
Susan SarandonOriginal
2024-12-09 02:36:10918Durchsuche

How Can I Extract the

JSON-HTTP-Antwort mit Golang analysieren

Um den Wert von „ip“ aus der bereitgestellten JSON-Antwort abzurufen, wird empfohlen, benutzerdefinierte zu verwenden Strukturen, die die JSON-Struktur widerspiegeln und die Antwort entsprechend dekodieren. Betrachten Sie den folgenden Code:

import (
    "bytes"
    "encoding/json"
    "fmt"
    "log"
)

// Define structs to match the JSON structure
type Example struct {
    Type    string   `json:"type"`
    Subsets []Subset `json:"subsets"`
}

type Subset struct {
    Addresses []Address `json:"addresses"`
}

type Address struct {
    IP string `json:"ip"`
}

func main() {
    // Define the JSON input
    m := []byte(`{"type":"example","data":{"name":"abc","labels":{"key":"value"}},"subsets":[{"addresses":[{"ip":"192.168.103.178"}],"ports":[{"port":80}]}]}`)

    // Create a reader from the JSON input
    r := bytes.NewReader(m)
    decoder := json.NewDecoder(r)

    // Decode the JSON into the Example struct
    val := &Example{}
    if err := decoder.Decode(val); err != nil {
        log.Fatal(err)
    }

    // Iterate over the Subsets and Addresses slices to access each IP
    for _, s := range val.Subsets {
        for _, a := range s.Addresses {
            fmt.Println(a.IP)
        }
    }
}

Dieser Ansatz ermöglicht die Dekodierung der JSON-Antwort in benutzerdefinierte Strukturen und bietet die Möglichkeit, Slices zu durchlaufen und bestimmte Werte durch Zugriff auf Strukturmitglieder (z. B. a.IP) abzurufen. Der bereitgestellte Code demonstriert den End-to-End-Workflow zum Lesen einer JSON-Antwort, zum Dekodieren in Strukturen und zum Extrahieren spezifischer Werte.

Das obige ist der detaillierte Inhalt vonWie kann ich den „ip'-Wert aus einer JSON-HTTP-Antwort in Golang extrahieren?. 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