Dalam golang, untuk menukar jenis rentetan kepada objek json, anda boleh menggunakan pakej json dalam perpustakaan standard.
Pertama, kita boleh menggunakan fungsi json.Marshal() untuk menukar objek dalam golang kepada rentetan format json. Contohnya:
type Person struct { Name string `json:"name"` Age int `json:"age"` } p := Person{Name: "Tom", Age: 29} jsonStr, err := json.Marshal(p) if err != nil { fmt.Println("json.Marshal failed:", err) } fmt.Println(string(jsonStr))
Kod di atas akan mengeluarkan hasil berikut:
{"name":"Tom","age":29}
Seterusnya, kita boleh menggunakan fungsi json.Unmarshal() untuk menukar rentetan json kepada objek dalam golang. Contohnya:
jsonStr := `{"name":"Tom","age":29}` var p Person err := json.Unmarshal([]byte(jsonStr), &p) if err != nil { fmt.Println("json.Unmarshal failed:", err) } fmt.Println(p.Name, p.Age)
Kod di atas akan mengeluarkan hasil berikut:
Tom 29
Perlu diingat bahawa apabila menghuraikan json, []parameter jenis bait digunakan, jadi jenis mandatori diperlukan Penukaran menukar jenis rentetan kepada []jenis bait.
Selain itu, anda juga boleh terus menggunakan fungsi json.NewDecoder() untuk menghuraikan rentetan format json ke dalam objek json, contohnya:
jsonStr := `{"name":"Tom","age":29}` var data interface{} decoder := json.NewDecoder(strings.NewReader(jsonStr)) err := decoder.Decode(&data) if err != nil { fmt.Println("json.Unmarshal failed:", err) } fmt.Println(data)
Kod di atas akan mengeluarkan hasil berikut :
map[name:Tom age:29]
Dengan cara ini, kita boleh menggunakan pakej json perpustakaan standard dalam golang untuk menukar jenis rentetan kepada objek json.
Atas ialah kandungan terperinci tali golang 转json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!