在 Golang 中,可以使用标准库 encoding/json 来进行 JSON 的序列化和反序列化。JSON 序列化指将 Go 对象转换为 JSON 字符串的过程。
以下是一个示例:
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func main() {
p := Person{Name: "Alice", Age: 20}
b, err := json.Marshal(p)
if err != nil {
fmt.Println("error:", err)
return
}
fmt.Println(string(b))
}
运行结果为:
{"name":"Alice","age":20}
在上述代码中,我们定义了一个结构体 Person,并使用了标记(tag)json:"name" 和 json:"age" 来说明该字段在 JSON 格式下的键名。然后我们创建了一个 Person 实例,并使用 json.Marshal 函数将其序列化成 JSON 字符串。
需要注意的是,在序列化时,只有公开(public)字段才会被转换。因此,结构体中所有要序列化的字段都必须是公开的(即首字母大写)。




