Heim >Backend-Entwicklung >Golang >Wie analysiere ich eine verschachtelte JSON-HTTP-Antwort in Go?

Wie analysiere ich eine verschachtelte JSON-HTTP-Antwort in Go?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-29 18:36:18643Durchsuche

How to Parse a Nested JSON HTTP Response in Go?

JSON-HTTP-Antwort mit Go analysieren

Um eine JSON-Antwort aus einer HTTP-Anfrage in Golang zu analysieren, können Sie die JSON-Dekodierung zum Konvertieren verwenden Antworttext in eine Struktur umwandeln, die die JSON-Struktur widerspiegelt.

Code Beispiel

Der folgende Code zeigt, wie eine JSON-Antwort mit verschachtelten Strukturen analysiert wird, um den Wert von „ip“ zu erhalten:

package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "log"
    "net/http"
    "time"
)

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() {

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

    r := bytes.NewReader(m)
    decoder := json.NewDecoder(r)

    val := &Example{}
    err := decoder.Decode(val)

    if err != nil {
        log.Fatal(err)
    }

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

}

Durch die Nutzung der JSON-Dekodierung wird eine Struktur erstellt, die spiegelt die JSON-Struktur wider. Sie können dynamisch auf die Daten in der Antwort zugreifen und diese analysieren, einschließlich verschachtelter Elemente wie dem „ip“-Feld.

Das obige ist der detaillierte Inhalt vonWie analysiere ich eine verschachtelte JSON-HTTP-Antwort in Go?. 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