Bagaimana untuk Menyahmarshal Data JSON ke dalam Struktur Data Tersuai dalam Go?

Susan Sarandon
Lepaskan: 2024-11-06 14:35:02
asal
715 orang telah melayarinya

How to Unmarshal JSON Data into a Custom Data Structure in Go?

Menyahmarshal Data JSON ke dalam Struktur Data Tersuai

Dalam Go, selalunya perlu untuk menyahmarshal data JSON ke dalam struktur data tertentu. Ini boleh dicapai dengan mentakrifkan jenis tersuai dan melaksanakan antara muka json.Unmarshaler.

Pernyataan Masalah

Andaikan kami mempunyai data JSON dengan dua tatasusunan maklumat pesanan: Tanya dan Bida. Kami ingin menyahmarshal data ini menjadi struct dengan dua medan: Asks dan Bid, di mana setiap medan adalah sekeping struct Order.

Jenis Tersuai dan Pelaksanaan Unmarshaler

Untuk mencipta struktur data yang kami kehendaki, kami mentakrifkan jenis tersuai yang dipanggil Pesanan:

<code class="go">type Order struct {
    Price float64
    Volume float64
}</code>
Salin selepas log masuk

Seterusnya, kami melaksanakan antara muka json.Unmarshaler untuk jenis Pesanan. Ini membolehkan kami menentukan cara data JSON harus dihuraikan ke dalam struktur tersuai kami:

<code class="go">func (o *Order) UnmarshalJSON(data []byte) error {
    var v [2]float64
    if err := json.Unmarshal(data, &v); err != nil {
        return err
    }
    o.Price = v[0]
    o.Volume = v[1]
    return nil
}</code>
Salin selepas log masuk

Pelaksanaan ini menjangkakan data JSON untuk Pesanan menjadi tatasusunan dua apungan, yang mewakili harga dan volum.

Menyahmarshal Data JSON

Dengan jenis tersuai kami dan pelaksanaan UnmarshalJSON dalam di tempat, kami kini boleh menyahmarshal data JSON seperti berikut:

<code class="go">b := []byte(`{"Asks": [[21, 1], [22, 1]] ,"Bids": [[20, 1], [19, 1]]}`)
m := new(Message)
if err := json.Unmarshal(b, &m); err != nil {
    // handle error
}

fmt.Println(m.Asks[0].Price) // 21</code>
Salin selepas log masuk

Dengan melaksanakan antara muka json.Unmarshaler, kami telah mencapai matlamat kami untuk menyahmarshal data JSON ke dalam struktur data tersuai yang mewakili susunan dengan lebih tepat maklumat.

Atas ialah kandungan terperinci Bagaimana untuk Menyahmarshal Data JSON ke dalam Struktur Data Tersuai 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!