温馨提示×

Go语言的JSON编解码怎么实现

小亿
100
2024-04-12 18:45:11
栏目: 编程语言

在 Go 语言中,可以使用 encoding/json 包来进行 JSON 的编解码操作。下面是一个简单的示例:

package main import ( "encoding/json" "fmt" ) type Person struct {	Name string `json:"name"`	Age int `json:"age"` } func main() { // 编码	person := Person{"Alice", 30}	data, err := json.Marshal(person) if err != nil {	fmt.Println("JSON encoding error:", err) return	}	fmt.Println(string(data)) // 解码	jsonStr := `{"name":"Bob","age":25}` var newPerson Person	err = json.Unmarshal([]byte(jsonStr), &newPerson) if err != nil {	fmt.Println("JSON decoding error:", err) return	}	fmt.Printf("%+v\n", newPerson) } 

运行以上代码,可以看到输出结果:

{"name":"Alice","age":30} {Name:Alice Age:30} 

这样就实现了 JSON 的编解码操作。在上面的示例中,json.Marshal 函数用于将结构体编码为 JSON 字符串,json.Unmarshal 函数用于将 JSON 字符串解码为结构体。需要注意的是,结构体中的字段必须是导出的(即首字母大写),否则在编解码时可能会出现问题。

0