在go中使用omitempty的代码实例
omitempty在go中的使用
直接上代码:
packagemain import( "encoding/json" "fmt" ) typePersonstruct{ Namestring`json:"name"` Ageint`json:"age"` Addrstring`json:"addr,omitempty"` } funcmain(){ p1:=Person{ Name:"taoge", Age:30, } data,err:=json.Marshal(p1) iferr!=nil{ panic(err) } fmt.Printf("%s\n",data) fmt.Println(p1.Name,p1.Age,p1.Addr) p2:=Person{ Name:"CangLaoshi", Age:18, Addr:"Japan", } data2,err:=json.Marshal(p2) iferr!=nil{ panic(err) } fmt.Printf("%s\n",data2) fmt.Println(p2.Name,p2.Age,p2.Addr) }
结果:
{"name":"taoge","age":30}
taoge30
{"name":"CangLaoshi","age":18,"addr":"Japan"}
CangLaoshi18Japan
可以看到,有了omitempty后,如果addr为空,则生成的json中没有addr字段。
可以去掉omitempty,再试试。
不多说。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接