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序列化规则。