Berikut ialah beberapa pilihan tajuk dalam format soalan, memenuhi kandungan artikel yang anda sediakan: **Langsung & Berfokuskan Masalah:** * **Cara Menyahmarshal Peta Slices dalam Go Apabila Kekunci Dynam

Susan Sarandon
Lepaskan: 2024-10-25 11:02:02
asal
581 orang telah melayarinya

Here are a few title options in a question format, catering to the content of your provided article:

**Direct &  Problem-Focused:**

* **How to Unmarshal a Map of Slices in Go When Keys are Dynamic?**
* **Empty Map After Unmarshaling: Why is my Go Struct

Penyusunan Tersuai Struct ke dalam Peta Slices

Penerangan Masalah

Memahami pembongkaran JSON mungkin mencabar. Artikel ini meneroka isu yang dihadapi semasa membongkar peta dalam Go menggunakan coretan kod berikut:

<code class="go">import (
    "encoding/json"
    "fmt"
)

type OHLC_RESS struct {
    Pair map[string][]Candles
    Last int64 `json:"last"`
}

type Candles struct {
    // ...
}

func (c *Candles) UnmarshalJSON(d []byte) error {
    // ...
}

func main() {
    // ...
}</code>
Salin selepas log masuk

Setelah menjalankan kod, peta Pair kekal kosong, walaupun medan Last dinyahmarshall dengan betul.

Penyelesaian

Pilihan 1: Laraskan Definisi Struktur

Penyelesaian paling mudah untuk contoh JSON yang disediakan ialah menghapuskan peta dan menjajarkan definisi struct dengan struktur JSON:

<code class="go">type OHLC_RESS struct {
    Pair []Candles `json:"XXBTZUSD"`
    Last int64     `json:"last"`
}</code>
Salin selepas log masuk

Pilihan 2: Laksanakan Custom Unmarshaler

Jika kekunci peta dinamik dan tidak boleh dikod keras dalam teg medan, pelaksanaan tersuai json.Unmarshaler antara muka adalah perlu. Ini boleh dicapai dengan melaksanakan kaedah UnmarshalJSON dalam struktur OHLC_RESS:

<code class="go">func (r *OHLC_RESS) UnmarshalJSON(d []byte) error {
    // ...
}</code>
Salin selepas log masuk

Pelaksanaan UnmarshalJSON menyahkod kekunci dan nilai JSON secara berasingan, merawat elemen "terakhir" secara berbeza daripada yang lain. Elemen yang selebihnya dibongkar ke dalam peta Pasangan.

Atas ialah kandungan terperinci Berikut ialah beberapa pilihan tajuk dalam format soalan, memenuhi kandungan artikel yang anda sediakan: **Langsung & Berfokuskan Masalah:** * **Cara Menyahmarshal Peta Slices dalam Go Apabila Kekunci Dynam. 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!