struct tag
type Person struct {
Name string `json:"userName"`
Age int `json:"userAge"`
}
p := Person{"Tom", 25}
b, _ := json.Marshal(p)
fmt.Println(string(b)) // {"userName":"Tom","userAge":25}
json:"name"nameomitempty
string-
type Person struct {
Name string `json:"userName"`
Age int `json:"userAge"`
Birthday time.Time `json:"birthday,string"`
Password string `json:"-"`
}
p := Person{"Tom", 25, time.Now(), "123456"}
b, _ := json.Marshal(p)
fmt.Println(string(b)) // {"userName":"Tom","userAge":25,"birthday":"2021-01-01 12:00:00","Password":""}
string-

总的来说,在使用Go语言处理JSON数据时,struct tag是一个非常实用的特性。通过自定义struct tag,我们可以轻松地实现自己想要的JSON序列化规则。