阅读量: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 字符串解码为结构体。需要注意的是,结构体中的字段必须是导出的(即首字母大写),否则在编解码时可能会出现问题。