Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Unmarshal JSON dengan Kunci Dinamik dalam Go?

Bagaimana untuk Unmarshal JSON dengan Kunci Dinamik dalam Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 12:16:15553semak imbas

How to Unmarshal JSON with a Dynamic Key in Go?

JSON Unmarshal dengan Dynamic Key

Unmarshalling JSON dengan kekunci dinamik yang tidak boleh ditangkap sebagai medan statik dalam struct boleh dicapai dalam Pergi menggunakan a peta.

Contoh:

Pertimbangkan data JSON berikut:

{
 "any string" : {
   "a_known_string" : "some value",
   "b_known_string" : "another value" 
 }
}

Dan struct:

type X struct {
    A string `json:"a_known_string"`
    B string `json:"b_known_string"`
}

Penyelesaian:

Untuk menangkap kunci dinamik serta nilai yang diketahui, gunakan peta dan bukannya struct:

import "encoding/json"

var m map[string]X
err := json.Unmarshal([]byte(jsonStr), &m)
if err != nil {
    // Handle error
}

// Access the data using the dynamic key
dynamicKeyData := m["any string"]

Dalam senario ini, peta[rentetan]X jenis membenarkan kunci dinamik "mana-mana rentetan" ditangkap bersama-sama dengan nilai yang diketahui dalam struktur X.

Atas ialah kandungan terperinci Bagaimana untuk Unmarshal JSON dengan Kunci Dinamik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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