Maison >développement back-end >Golang >Comment extraire une adresse IP d'une réponse HTTP JSON dans 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"` }
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)
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) } }
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!