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

go struct轉json字符串

榮姿康2年前10瀏覽0評論

Go語言是一個開源的編程語言,擁有著良好的代碼可讀性、嚴謹的語法和高效的執行速度,在許多領域都有廣泛的應用,比如云計算、網絡編程、數據處理等。其中,將Go struct轉換成JSON字符串是我們在開發中經常需要的任務之一。

JSON(JavaScript Object Notation),一種輕量級的數據交換格式,易于人們理解和閱讀,也易于計算機解析和生成。因此,將Go struct轉換成JSON字符串是常用的編碼技巧之一。Go語言內置了encoding/json包,可以輕松完成JSON數據的編碼和解碼。

type Person struct {
Name string `json:"name"`
Age  int    `json:"age"`
}
func main() {
person := Person{
Name: "Tom",
Age:  18,
}
jsonStr, err := json.Marshal(person)
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(string(jsonStr))
}

在上述代碼中,我們定義了一個Person結構體,其中Name和Age為其成員變量。然后,我們使用json.Marshal()函數將該結構體轉換成JSON格式的字符串。最后,我們輸出該字符串并得到如下輸出結果:

{"name":"Tom","age":18}

除此之外,Go語言還提供了解碼JSON字符串的方法,即使用json.Unmarshal()函數將JSON字符串解析成Go結構體。代碼如下:

func main() {
jsonStr := `{"name":"Tom","age":18}`
var person Person
err := json.Unmarshal([]byte(jsonStr), &person)
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(person.Name, person.Age)
}

在上述代碼中,我們定義了一個JSON字符串,然后使用json.Unmarshal()函數將該字符串解析成Person結構體。通過輸出該結構體的成員變量Name和Age,我們得到如下輸出結果:

Tom 18

總結一下,Go語言內置的encoding/json包提供了對JSON數據的編碼和解碼方法,可以輕松完成Go struct與JSON字符串的轉換。快來試試吧!