Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Menghuraikan Respons HTTP JSON Bersarang dalam Go?

Bagaimana untuk Menghuraikan Respons HTTP JSON Bersarang dalam Go?

Patricia Arquette
Lepaskan: 2024-11-29 18:36:18
asal
641 orang telah melayarinya

How to Parse a Nested JSON HTTP Response in Go?

Menghuraikan JSON HTTP Response menggunakan Go

Untuk menghuraikan respons JSON daripada permintaan HTTP di Golang, anda boleh menggunakan penyahkodan JSON untuk menukar badan tindak balas ke dalam struct yang mencerminkan struktur JSON.

Kod Contoh

Kod berikut menunjukkan cara menghuraikan respons JSON dengan struct bersarang untuk mendapatkan nilai "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)
        }
    }

}
Salin selepas log masuk

Dengan memanfaatkan penyahkodan JSON untuk mencipta struct yang mencerminkan struktur JSON, anda boleh mengakses dan menghuraikan data secara dinamik dalam respons, termasuk elemen bersarang seperti medan "ip".

Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan Respons HTTP JSON Bersarang dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan