Maison > développement back-end > Golang > Comment analyser une réponse HTTP JSON imbriquée dans Go ?

Comment analyser une réponse HTTP JSON imbriquée dans Go ?

Patricia Arquette
Libérer: 2024-11-29 18:36:18
original
710 Les gens l'ont consulté

How to Parse a Nested JSON HTTP Response in Go?

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

Pour analyser une réponse JSON à partir d'une requête HTTP dans Golang, vous pouvez utiliser le décodage JSON pour convertir le corps de la réponse dans une structure qui reflète la structure JSON.

Code Exemple

Le code suivant montre comment analyser une réponse JSON avec des structures imbriquées pour obtenir la valeur de "ip" :

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)
        }
    }

}
Copier après la connexion

En tirant parti du décodage JSON pour créer une structure qui reflète la structure JSON, vous pouvez accéder et analyser dynamiquement les données dans la réponse, y compris les éléments imbriqués tels que le champ "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!

source:php.cn
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