欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

golang json 忽略字段

林玟書2年前8瀏覽0評論

在golang中,json.Marshal()和json.Unmarshal()是處理json數(shù)據(jù)的核心函數(shù)。但是有時候我們不希望把某些字段序列化或者反序列化,這時候我們就需要使用golang的標簽來設(shè)置json。

為了在序列化或者反序列化過程中忽略某些字段,我們需要在結(jié)構(gòu)體中給這些字段附加一個特殊的標簽,名為“json”,然后在這個標簽中設(shè)置一個參數(shù),名為“-”。

type Person struct {
Name    string `json:"name"`
Age     int    `json:"age"`
Address string `json:"-"`
}

上面這個示例中,我們使用了“-”來忽略Address字段。

在進行序列化時,忽略掉Address字段的值:

person := Person{
Name:    "張三",
Age:     30,
Address: "北京市",
}
data, _ := json.Marshal(person)
fmt.Println(string(data))  //"{"name":"張三","age":30}"

在進行反序列化時,忽略掉JSON中的Address字段:

str := `{"name":"李四","age":25,"address":"上海市"}`
var person Person
json.Unmarshal([]byte(str), &person)
fmt.Println(person) //{李四 25 }

通過給字段添加這個特殊的json標簽,我們可以很輕松地控制哪些字段需要被序列化或反序列化。這個方法非常實用,因為它可以使得你的代碼更加靈活,滿足不同的業(yè)務(wù)需求。