Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyahmarshal Objek JSON ke dalam Struktur dengan Peta Slices?
Custom unmarshaling diperlukan untuk menyahkod JSON ke dalam struct dengan peta kepingan. Menggunakan gelagat lalai, peta kekal kosong.
Menggunakan Unmarshaler Tersuai:
Dalam UnmarshalJSON kaedah:
Penyelesaian Alternatif (Tidak Menggunakan Peta):
Jika struktur JSON ditetapkan, struct sasaran boleh dilaraskan untuk memadankan reka letak JSON tanpa menggunakan a peta.
Contoh:
Kod unmarshaling tersuai menggunakan kaedah UnmarshalJSON tersuai:
<code class="go">func (r *OHLC_RESS) UnmarshalJSON(d []byte) error { // Decode keys and values var obj map[string]json.RawMessage if err := json.Unmarshal(d, &obj); err != nil { return err } // Extract "last" field if last, ok := obj["last"]; ok { if err := json.Unmarshal(last, &r.Last); err != nil { return err } delete(obj, "last") } // Decode and assign Pair field r.Pair = make(map[string][]Candles, len(obj)) for key, val := range obj { cc := []Candles{} if err := json.Unmarshal(val, &cc); err != nil { return err } r.Pair[key] = cc } return nil }</code>
Penyelesaian alternatif dengan melaraskan struct:
<code class="go">type OHLC_RESS struct { Pair []Candles `json:"XXBTZUSD"` Last int64 `json:"last"` }</code>
Atas ialah kandungan terperinci Bagaimana untuk Menyahmarshal Objek JSON ke dalam Struktur dengan Peta Slices?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!