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

avatar
作者
筋斗云
阅读量:0

在 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("%+vn", newPerson) } 

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

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

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

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!