Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menyahmarshal Objek JSON Bersarang sebagai Rentetan atau Kepingan Bait dalam Go?
Menyahmarakkan Objek Bersarang JSON sebagai Rentetan atau Kepingan Bait
Dalam data JSON, objek bersarang menyediakan tahap maklumat tambahan. Walau bagaimanapun, apabila menyahkarang data ini ke dalam struktur Go, anda mungkin mahu menganggap objek ini sebagai data mentah dan bukannya nilai yang dihuraikan.
Untuk mencapai ini, pakej pengekodan/json menawarkan penyelesaian: json.RawMessage.
Menggunakan RawMessage untuk Merawat Objek Bersarang sebagai Mentah Data
json.RawMessage ialah jenis yang mewakili data JSON yang dikodkan. Ia membolehkan anda melambatkan penyahkodan JSON atau prakiraan pengekodan JSON.
Ini amat berguna apabila anda ingin mengendalikan objek bersarang sebagai rentetan atau kepingan bait. Begini cara anda boleh menggunakannya:
import ( "encoding/json" "fmt" ) type Bar struct { Id int64 `json:"id"` Foo json.RawMessage `json:"foo"` } func main() { // Example JSON with a nested object jsonStr := []byte(`{ "id" : 15, "foo" : { "foo": 123, "bar": "baz" } }`) var bar Bar err := json.Unmarshal(jsonStr, &bar) if err != nil { panic(err) } fmt.Printf("%+v\n", bar) }
Contoh Output
{Id:15 Foo:[123 32 34 102 111 111 34 58 32 49 50 51 44 32 34 98 97 114 34 58 32 34 98 97 122 34 32 125]}
Dengan menggunakan json.RawMessage, anda boleh merawat objek bersarang sebagai rentetan mentah atau kepingan bait. Ini membolehkan anda memproses data dengan lebih lanjut atau menyimpannya untuk kegunaan kemudian.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyahmarshal Objek JSON Bersarang sebagai Rentetan atau Kepingan Bait dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!