omitempty作用是在json数据结构转换时,当该字段的值为该字段类型的零值时,忽略该字段。
package main
import (
"fmt"
"encoding/json"
)
type student struct {
name string `json:"name"`
age int `json:"age"`
grade string `json:"grade,omitempty"`
}
func main() {
stu1 := student{
name:"tom",
age:18,
grade:"middle school",
}
stu2 := student{
name:"lily",
age:19,
}
stubyts1,_ := json.marshal(&stu1)
stubyts2 ,_ := json.marshal(&stu2)
fmt.println("stu1:",string(stubyts1))
fmt.println("stu2:",string(stubyts2))
}
打印结果如下:
stu1: {"name":"tom","age":18,"grade":"middle school"}
stu2: {"name":"lily","age":19}