在 Go 語言中,結構體是常用的數據類型之一。結構體是一種聚合數據類型,可以將不同的數據類型組合在一起,形成一個新的數據類型。而 JSON 是一種輕量級的數據交換格式。在 Go 語言中,我們可以將結構體轉換為 JSON 格式,然后輸出到控制臺或者寫入文件中。
type Person struct { Name string `json:"name"` Age int `json:"age"` Address Address `json:"address"` } type Address struct { City string `json:"city"` Country string `json:"country"` } func main() { person := Person{ Name: "John", Age: 32, Address: Address{ City: "New York", Country: "USA", }, } jsonBytes, err := json.Marshal(person) if err != nil { log.Fatalln(err) } jsonString := string(jsonBytes) fmt.Println(jsonString) }
上面的代碼定義了一個 Person 結構體,它包含了一個 Name 字符串類型和一個 Age 整數類型,還包含了一個 Address 結構體類型。Address 結構體類型包含了一個 City 字符串類型和一個 Country 字符串類型。在 main 函數中,我們定義了一個 person 變量,并初始化了它的值。然后使用 json.Marshal 函數將結構體轉換為 JSON 格式。最后將 JSON 字符串輸出到控制臺中。
在轉換結構體為 JSON 字符串時,我們可以通過設置結構體的字段標簽來指定 JSON 中的鍵名,例如上面的代碼中,我們將 Name 字段標記為 "name",將 Age 字段標記為 "age",將 Address 結構體標記為 "address"。
總結一下,在 Go 語言中,我們可以通過結構體和 JSON 進行數據的序列化和反序列化。使用 json.Marshal 函數將結構體轉換為 JSON 字符串,使用 json.Unmarshal 函數將 JSON 字符串轉換為結構體。
上一篇c json反序列化超長
下一篇html帶紋顏色代碼表