Maison > développement back-end > Golang > Comment extraire une adresse IP d'une réponse HTTP JSON dans Golang ?

Comment extraire une adresse IP d'une réponse HTTP JSON dans Golang ?

Patricia Arquette
Libérer: 2024-12-01 18:50:10
original
858 Les gens l'ont consulté

How to Extract an IP Address from a JSON HTTP Response in Golang?

Analyser la réponse HTTP JSON à l'aide de Golang

L'analyse des réponses HTTP JSON dans Go permet aux développeurs d'extraire et de traiter les données efficacement. Cette question concerne un scénario dans lequel un utilisateur cherche à extraire l'adresse IP d'une réponse JSON.

Le code Go fourni tente d'analyser le JSON à l'aide de la fonction json.Unmarshal. Cependant, il attribue les données décodées à une structure svc qui ne reflète pas fidèlement la structure JSON.

Pour analyser correctement le JSON, vous devez définir des structures qui reflètent la structure JSON, comme démontré dans le code suivant :

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"`
}
Copier après la connexion

Une fois que vous avez défini les structures, vous pouvez utiliser json.NewDecoder pour décoder la réponse JSON en une instance de l'exemple struct :

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

val := &Example{}
err := decoder.Decode(val)
Copier après la connexion

En utilisant cette approche, vous pouvez accéder à l'adresse IP en parcourant les tranches Sous-ensembles et Adresses dans l'exemple analysé struct :

for _, s := range val.Subsets {
    for _, a := range s.Addresses {
        fmt.Println(a.IP)
    }
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal