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

go json 轉換 結構體

劉姿婷1年前10瀏覽0評論

Go語言中,常常需要將JSON數據轉換為結構體。JSON是一種輕量級的數據交換格式,它不依賴特定的操作系統或編程語言,方便數據的傳輸和存儲。Go語言提供了簡單易用的JSON解析與編碼的工具包,可以方便地將JSON數據解析成對應的結構體。

在Go語言中,使用標準庫中的“encoding/json”包來進行JSON的解析與編碼。在將JSON數據解析為結構體時,只需要定義一個對應結構體的類型,然后使用Unmarshal函數將JSON數據解析到該結構體變量中即可。

// 定義一個對應JSON數據的結構體類型
type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`     
}
// 解析JSON數據到結構體變量中
jsonStr := `{"name": "Lucy", "age": 20}`
var p Person
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
fmt.Println("JSON unmarshal error:", err)
}
fmt.Println(p)

上述代碼中,定義了一個名為Person的結構體類型,其成員變量與JSON數據的鍵對應。其中,名稱為“name”的JSON數據鍵被映射為Name成員,名稱為“age”的JSON數據鍵被映射為Age成員。然后,使用Unmarshal函數將JSON數據字符串解析為該結構體類型,最后輸出解析后的結構體變量。

除此之外,還可以使用Marshal函數將一個結構體變量轉換為JSON格式的字符串。

// 定義一個結構體變量
p := Person{
Name: "Tom",
Age:  30,
}
// 將結構體變量轉換為JSON字符串
jsonBytes, err := json.Marshal(p)
if err != nil {
fmt.Println("JSON marshal error:", err)
}
// 輸出轉換后的JSON字符串
fmt.Println(string(jsonBytes))

上述代碼中,定義了一個名為p的結構體變量,賦值為Tom和30。然后,使用Marshal函數將該結構體變量轉換為對應的JSON字符串,并輸出。

總之,在Go語言中,可以方便地進行JSON數據的解析與編碼,將JSON數據轉換為對應的結構體對象,或將結構體變量轉換為JSON格式的字符串。這些功能為開發人員提供了方便與效率。