Untuk mengekod data JSON dalam Go, gunakan langkah berikut: Gunakan json.Marshal untuk mengekod jenis Go ke dalam kepingan bait JSON. Gunakan json.Unmarshal untuk menyahkod jenis Go daripada pengekodan JSON dan menyimpan kepingan bait JSON dalam jenis Go.
Pengekodan data JSON dalam Go ialah proses mudah yang boleh dicapai menggunakan pustaka standard pengekodan/json
. Pustaka menyediakan set fungsi yang kaya untuk pengekodan jenis Go kepada JSON dan penyahkodan jenis Go daripada pengekodan JSON. encoding/json
标准库来完成的简单明了的过程。该库提供了丰富的函数用于将 Go 类型编码为 JSON,以及从 JSON 编码中解码 Go 类型。
要将Go类型编码为JSON,可以使用 json.Marshal
函数。该函数接受一个 Go 值并返回其相应的 JSON 编码的字节切片。
package main import ( "encoding/json" "fmt" ) type User struct { Name string Age int Admin bool } func main() { user := User{Name: "John Doe", Age: 30, Admin: false} jsonBytes, err := json.Marshal(user) if err != nil { fmt.Println("Error encoding user:", err) return } fmt.Println(string(jsonBytes)) }
上面的代码片段会输出如下 JSON:
{"Name":"John Doe","Age":30,"Admin":false}
要从 JSON 编码中解码一个 Go 类型,可以使用 json.Unmarshal
json.Marshal
. Fungsi ini menerima nilai Go dan mengembalikan kepingan bait berkod JSON yang sepadan. package main import ( "encoding/json" "fmt" ) type User struct { Name string Age int Admin bool } func main() { jsonBytes := []byte(`{"Name":"John Doe","Age":30,"Admin":false}`) var user User if err := json.Unmarshal(jsonBytes, &user); err != nil { fmt.Println("Error decoding user:", err) return } fmt.Println(user) }
{John Doe 30 false}
json.Unmarshal
. Fungsi ini menerima kepingan bait yang dikodkan JSON dan menyimpan nilai yang sepadan dalam jenis Go yang disediakan. Atas ialah kandungan terperinci Bagaimana untuk mengekod data JSON di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!