在struct转json时,omitempty字段的值如果是该字段类型的零值,则忽略该字段。
例:
package main
import "fmt"
import "encoding/json"
type User struct {
Name string `json:"name"`
Age int `json:"age,omitempty"`
}
func main() {
u := User{
Name: "abc",
Age: 10,
}
bytes, _ := json.Marshal(&u)
fmt.Println(string(bytes))
//
u = User{
Name: "def",
}
bytes, _ = json.Marshal(&u)
fmt.Println(string(bytes))
}
执行结果:
{"name":"abc","age":10}
{"name":"def"}