Bagaimana untuk unmarshal json dengan medan dan kekunci yang tidak diketahui

WBOY
Lepaskan: 2024-02-06 10:33:11
ke hadapan
703 orang telah melayarinya

如何使用未知字段和键解组 json

Kandungan soalan

Dari bahagian hadapan saya mendapat contoh json ini:

{
  "properties":{"unknown key": "unknown value","unknown key2": "unknown value 2"}
}
Salin selepas log masuk

Saya mula menghuraikannya dengan map[string]antara muka{} tetapi ia tidak berfungsi. Saya juga tidak tahu berapa banyak yang saya boleh perolehi dalam bidang ini. Boleh 10 atau 1.

Kod:

type test struct {
    p map[string]string `json:"properties"`
}

func main() {
    var t test

    body := `
    {
        "properties":{"unknown key": "unknown value","unknown key2": "unknown value 2"}
    }
    `

    json.Unmarshal([]byte(body), &t)

    fmt.Println(t.p)
}
Salin selepas log masuk

Kod ini sentiasa mengembalikan peta kosong.


Jawapan betul


Anda harus mengeksport medan struct yang sepatutnya tidak dikawal, contohnya:

type test struct {
    P map[string]string `json:"properties"`
}
Salin selepas log masuk

Lihathttps://www.php.cn/link/eaf76caaba574ebf8e825f321c14ba29

Atas ialah kandungan terperinci Bagaimana untuk unmarshal json dengan medan dan kekunci yang tidak diketahui. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan