Maison > développement back-end > Golang > Comment puis-je extraire la valeur « ip » d'une réponse HTTP JSON dans Golang ?

Comment puis-je extraire la valeur « ip » d'une réponse HTTP JSON dans Golang ?

Susan Sarandon
Libérer: 2024-12-09 02:36:10
original
947 Les gens l'ont consulté

How Can I Extract the

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

Pour récupérer la valeur de "ip" à partir de la réponse JSON fournie, il est recommandé d'utiliser des paramètres personnalisés des structures qui reflètent la structure JSON et décodent la réponse en conséquence. Considérez le code suivant :

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

Cette approche permet de décoder la réponse JSON en structures personnalisées, offrant la possibilité de parcourir des tranches et de récupérer des valeurs spécifiques en accédant aux membres de la structure (par exemple, a.IP). Le code fourni démontre le flux de travail de bout en bout consistant à lire une réponse JSON, à la décoder en structures et à extraire des valeurs spécifiques.

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