golang中的struct json tag可以幫助我們更方便地將我們的結構體轉化為json格式。
type Person struct { Name string `json:"name"` Age int `json:"age"` Gender string `json:"gender"` }
上面的代碼中,我們給每個結構體的字段加上了一個json
tag。這個tag告訴golang編譯器,我們想要將這個字段序列化成json格式時,應該使用name
、age
和gender
作為鍵名。
現在我們來看一下如何將一個Person實例轉化為json:
func main() { p := Person{ Name: "Alice", Age: 25, Gender: "female", } b, err := json.Marshal(p) if err != nil { fmt.Println(err) return } fmt.Println(string(b)) }
上面的代碼中,我們調用了json.Marshal
函數將Person實例p
轉化為了json格式的字節數組b
。最后我們使用fmt.Println
函數將這個字節數組打印出來。輸出結果如下:
{"name":"Alice","age":25,"gender":"female"}
可以看到,我們的Person實例已經成功被轉化為了json格式。
另外,如果你想讓某個字段在json中不出現,只需要在這個字段的json tag中加上-
即可:
type Person struct { Name string `json:"name"` Age int `json:"-"` Gender string `json:"gender"` }
上面的代碼中,我們將Age
字段的json tag設置為了-
,表示在json中不顯示這個字段。
總之,使用struct json tag可以讓我們更加靈活地將我們的結構體轉化為json格式。希望本文能對你有所幫助。
下一篇mysql分表策略