Golang中JSON是一種常見的數(shù)據(jù)格式,JSON是JavaScript Object Notation的縮寫。它基于JavaScript語法,但也可以用于許多其他編程語言。
type Person struct { Name string `json:"name"` Age int `json:"age"` }
在Golang中,JSON可以通過struct來表示。可以使用json
標(biāo)簽指定struct字段的JSON名稱。如果沒有指定標(biāo)簽,則使用字段名稱作為JSON名稱。
要將Golang結(jié)構(gòu)轉(zhuǎn)換為JSON,需要使用json.Marshal
函數(shù)。以下是一個簡單的例子:
func main() { p := Person{Name: "Alice", Age: 30} b, err := json.Marshal(p) if err != nil { fmt.Println(err) } fmt.Println(string(b)) } // 輸出: {"name":"Alice","age":30}
要將JSON轉(zhuǎn)換為Golang結(jié)構(gòu),需要使用json.Unmarshal
函數(shù)。以下是一個簡單的例子:
func main() { p := Person{} err := json.Unmarshal([]byte(`{"name":"Bob","age":25}`), &p) if err != nil { fmt.Println(err) } fmt.Println(p) } // 輸出: {Bob 25}
JSON是一種非常流行的數(shù)據(jù)格式,在Golang中支持非常良好。使用json
標(biāo)簽可以輕松地表示結(jié)構(gòu)字段的JSON名稱。同時,使用json.Marshal
和json.Unmarshal
函數(shù)可以輕松地將Golang結(jié)構(gòu)和JSON之間進(jìn)行轉(zhuǎn)換。