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

go語言轉(zhuǎn)json

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

Go語言是一種強類型靜態(tài)編譯型語言,支持并發(fā)編程和垃圾回收機制,越來越受到開發(fā)人員的青睞。在Go語言中,我們可以使用自帶的encoding/json包將結(jié)構(gòu)體或者Map轉(zhuǎn)換為JSON格式。

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

上述代碼中我們定義了一個Person結(jié)構(gòu)體,并在main函數(shù)中創(chuàng)建了一個Person類型的實例person。然后我們使用json.Marshal()函數(shù)將person轉(zhuǎn)換成JSON格式,存儲在result變量中。最后我們可以使用fmt包中的Println()函數(shù)將result變量打印出來。

運行上述代碼,輸出結(jié)果如下:

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

我們還可以將JSON格式的數(shù)據(jù)解析為Go類型,使用的是json.Unmarshal()函數(shù)。

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

上述代碼中我們定義了一個jsonString變量存儲JSON數(shù)據(jù),再使用json.Unmarshal()函數(shù)將jsonString解析成Person類型的變量person。在Unmarshal()函數(shù)中,我們要傳入兩個參數(shù),一個是byte切片類型的JSON數(shù)據(jù),另一個是指向person變量的指針。最后我們再使用fmt包中的Println()函數(shù)將person的Name屬性和Age屬性打印出來。

運行上述代碼,輸出結(jié)果如下:

Tom 18