在go中使用omitempty的代码实例
- 作者: 俠34747087
- 来源: 51数据库
- 2021-08-29
omitempty在go中的使用
直接上代码:
package main
import (
"encoding/json"
"fmt"
)
type person struct {
name string `json:"name"`
age int `json:"age"`
addr string `json:"addr,omitempty"`
}
func main() {
p1 := person{
name: "taoge",
age: 30,
}
data, err := json.marshal(p1)
if err != nil {
panic(err)
}
fmt.printf("%s\n", data)
fmt.println(p1.name, p1.age, p1.addr)
p2 := person{
name: "cang laoshi",
age: 18,
addr: "japan",
}
data2, err := json.marshal(p2)
if err != nil {
panic(err)
}
fmt.printf("%s\n", data2)
fmt.println(p2.name, p2.age, p2.addr)
}
结果:
{"name":"taoge","age":30}
taoge 30
{"name":"cang laoshi","age":18,"addr":"japan"}
cang laoshi 18 japan
可以看到,有了omitempty后,如果addr为空, 则生成的json中没有addr字段。
可以去掉omitempty, 再试试。
不多说。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
推荐阅读
