omitempty在go中的使用
直接上代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
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, 再试试。
不多说。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/stpeace/article/details/82744364