欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

go json對象

林子帆2年前10瀏覽0評論

Go語言中的json對象是一種用于解析和生成JSON格式的數據結構。在Go語言中,我們可以通過將JSON數據解析為結構體或映射類型,或者相反的將結構體或映射類型編碼為JSON數據來處理JSON數據。

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
// encode JSON data
person := Person{
Name: "張三",
Age:  18,
}
data, err := json.Marshal(person)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(data))
// decode JSON data
jsonData := []byte(`{"name":"李四","age":20}`)
var p Person
err = json.Unmarshal(jsonData, &p)
if err != nil {
log.Fatal(err)
}
fmt.Println(p.Name, p.Age)
}

在以上示例中,我們定義了一個名為Person的結構體,并使用標記`json:"name"`和`json:"age"`來定義在編碼和解碼JSON數據時映射到結構體字段的鍵。接著,我們使用json.Marshal()方法將Person類型的對象編碼為JSON格式的字節數組,并使用json.Unmarshal()方法將JSON格式的字節數組解碼為Person類型的對象。

需要注意的是,結構體字段需要導出(即首字母大寫)才能被JSON包訪問。JSON包只包括結構體中的導出字段,而不包括非導出字段。另外,JSON編解碼需要使用指針類型。

除此之外,Go語言的標準庫中還提供了一些用于JSON編解碼的附加工具,例如Encoder和Decoder類型,它們在處理較大的JSON數據時比Marshal和Unmarshal更有效率。