Rumah >pembangunan bahagian belakang >Golang >golang: tatasusunan json yang juga mempunyai kaedah
PHP editor Youzi membawakan anda artikel tentang Golang, topiknya ialah "golang: tatasusunan json yang juga mempunyai kaedah". Golang ialah bahasa pengaturcaraan yang mudah dan cekap, dan tatasusunan json ialah salah satu daripada format data yang biasa digunakan. Artikel ini akan meneroka cara mengendalikan tatasusunan json di Golang dan memperkenalkan beberapa kaedah yang berguna. Sama ada anda seorang pemula atau pembangun berpengalaman, artikel ini boleh memberi anda beberapa maklumat dan petua yang berharga. Mari kita ketahui bersama!
Saya mempunyai struktur data seperti ini:
type ( parent struct { items []*child } child struct { field string `json:"field"` } )
Saya juga berharap parent
ada caranya:
func (p *parent) example() { }
Tetapi keperluan json ialah induk hanyalah array:
[ { "field": "data" } ]
Saya mahu parent
是一个简单的数组,但为了让 parent
menjadi tatasusunan mudah, tetapi untuk
Adakah cara untuk menyelesaikan dua masalah ini dengan satu struktur data?
greatgrandparent
包含[]grandparent
,而grandparent
有一个包含parent
的parent
(Untuk menjadikan perkara lebih rumit, struktur data sebenar yang saya perlu gunakan mempunyai dua peringkat: grandparent
mengandungi []grandparent
dan grandparent
Di sana ialah
Penyelesaian
Untuk induk mempunyai kaedah, ia tidak boleh menjadi jenis Tatasusunan. Ia boleh, ia hanya perlu mempunyai
nama, kerana hanya jenis bernama (atau penunjuk kepada jenis bernama) boleh melaksanakan kaedah. Berikut ialah kod go yang sah:
type parent []*child
func (p parent) example() { /* ... */ }
parent
Perhatikan bahawa
json.unmarshaler
/json.marshaler
:
type parent struct { Items []*child } func (p *parent) UnmarshalJSON(data []byte) error { return json.Unmarshal(data, &p.Items) } func (p parent) MarshalJSON() ([]byte, error) { return json.Marshal(p.Items) }🎜Di atas akan menghasilkan struktur json yang diperlukan. 🎜
Atas ialah kandungan terperinci golang: tatasusunan json yang juga mempunyai kaedah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!