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

go結構json 使用

錢淋西1年前8瀏覽0評論

Go語言中結構體是一種用戶自定義類型,它可以包含任意類型的數據。當需要將結構體轉換為JSON格式的文本數據時,可以使用Go標準庫中的encoding/json包。該包提供了將結構體轉換為JSON格式的Marshal函數以及將JSON格式的文本數據轉換為結構體的Unmarshal函數。

type Person struct {
Name    string `json:"name"`
Age     int    `json:"age"`
Address string `json:"address"`
}
person := Person{"Tom", 25, "Beijing"}
data, err := json.Marshal(person)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data))

上述代碼中定義了一個名為Person的結構體,包含了三個字段Name、Age和Address。這里使用了Go語言中的標簽(tag)來指定在將結構體轉換為JSON格式時輸出的字段名稱。Marshal函數將結構體變量person轉換為JSON字符串,如果轉換失敗則輸出錯誤信息。

除了將結構體轉換為JSON格式的文本數據外,也可以將JSON格式的文本數據轉換為結構體。例如:

jsonStr := `{"name":"Tom","age":25,"address":"Beijing"}`
person := new(Person)
err := json.Unmarshal([]byte(jsonStr), person)
if err != nil {
log.Fatal(err)
}
fmt.Println(person)

上述代碼中定義了一個JSON格式的文本字符串jsonStr,通過Unmarshal函數將JSON格式的文本數據轉換為結構體變量person。注意,在將JSON格式的文本數據轉換為結構體時,需要事先指定生成的結構體變量(person)的類型。

使用Go結構體和JSON格式文本數據進行數據交換,可以方便地實現跨編程語言之間的數據傳輸,是一種十分常用的技術。