色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

go struct to json

林玟書1年前9瀏覽0評論

Go語言中的結(jié)構(gòu)體(struct)可以很方便地轉(zhuǎn)換為JSON格式的數(shù)據(jù)。通過一個簡單的例子來演示如何將結(jié)構(gòu)體轉(zhuǎn)換為JSON。

type Person struct {
Name string `json:"name"`
Age int `json:"age"`
Gender string `json:"gender"`
}
func main() {
person := Person{"Alice", 25, "female"}
b, err := json.Marshal(person)
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(string(b))
}
// Output: {"name":"Alice","age":25,"gender":"female"}

可以看到,我們先定義了一個Person的結(jié)構(gòu)體,里面包含了Name、Age和Gender三個屬性。接著在main函數(shù)中創(chuàng)建一個person對象,并將其轉(zhuǎn)換為JSON格式的數(shù)據(jù)。

在轉(zhuǎn)換過程中,我們使用了json.Marshal函數(shù),它將一個結(jié)構(gòu)體轉(zhuǎn)換為JSON格式的byte數(shù)組。我們還可以使用json.MarshalIndent函數(shù)來產(chǎn)生更美觀的輸出。

func main() {
person := Person{"Alice", 25, "female"}
b, err := json.MarshalIndent(person, "", "  ")
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(string(b))
}
// Output:
// {
//   "name": "Alice",
//   "age": 25,
//   "gender": "female"
// }

在這個例子中,我們使用了json.MarshalIndent函數(shù),并指定了縮進字符串為空格,縮進級別為兩個空格。

總之,Go語言中的結(jié)構(gòu)體可以很方便地轉(zhuǎn)換為JSON格式的數(shù)據(jù)。這對于與其他系統(tǒng)交換數(shù)據(jù)非常有用。