Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menambahkan Harta 'kiraan' pada Data JSON Dinamik dalam Go?
Menyahkod JSON dengan Struktur Dinamik
Apabila berurusan dengan data JSON yang tidak diketahui atau struktur yang berbeza-beza, ia menjadi mencabar untuk menyahkodnya menggunakan struct yang telah ditetapkan dalam Pergi. Untuk mengatasi isu ini, kami boleh menggunakan pendekatan yang lebih fleksibel.
Penyelesaian: Unmarshal into a Map
Pertama sekali, kami Unmarshal the JSON into a map[string]interface {}, iaitu struktur data fleksibel jenis dalam Go. Ini membolehkan kami mengakses sifat JSON sebagai rentetan dan nilai sepadannya sebagai antara muka generik.
Menambahkan Harta "kiraan"
Setelah JSON dinyahmarshall ke dalam peta , kita boleh memanipulasinya dengan bebas. Dalam kes ini, kita boleh menetapkan pasangan nilai kunci baharu dengan kunci "kiraan" dan nilainya ialah kiraan yang diingini.
Marshaling Back to JSON
Akhirnya , kami Marshal peta yang diubah suai kembali ke rentetan JSON. Proses ini melibatkan penyerikan peta ke dalam format JSON, yang akan menghasilkan output yang diingini dengan sifat "kiraan" tambahan.
Kod Contoh
package main import ( "encoding/json" "fmt" ) func main() { in := []byte(`{ "votes": { "option_A": "3" } }`) // Unmarshal into a map var raw map[string]interface{} if err := json.Unmarshal(in, &raw); err != nil { panic(err) } // Add the "count" property raw["count"] = 1 // Marshal back to JSON out, err := json.Marshal(raw) if err != nil { panic(err) } fmt.Println(string(out)) }
Output:
{"votes":{"option_A":"3"},"count":1}
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menambahkan Harta 'kiraan' pada Data JSON Dinamik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!