Go語言是一種強類型、靜態類型和編譯型的編程語言。它與C++語言非常相似,并且使用了一些現代編程語言的特性。其中Golang對于JSON解碼方面提供了很好的支持,讓我們來看看該如何實現。
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
func decodeJson() {
var p Person
jsonStr := `{"name":"Jack","age":30}`
err := json.Unmarshal([]byte(jsonStr), &p)
if err != nil {
log.Fatal(err)
}
fmt.Println(p.Name)
fmt.Println(p.Age)
}
接下來我們解析一下這段代碼:
- 定義Person的結構體,其具體屬性和json解析后的字段名,在屬性后使用json標記來聲明。
- 定義decodeJson函數,其中聲明p Person來存儲JSON解析后的數據,jsonStr存放著待解析的JSON字符串。
- 使用json.Unmarshal()函數,將待解析的JSON字符串解析成p Person結構體。
- 如果解析出現錯誤,輸出錯誤信息并結束程序;否則輸出解析后的p.Name和p.Age。
總結一下,Golang底層庫提供了非常方便的JSON解析工具,我們只需要定義好結構體,然后將JSON字符串解析到該結構體中即可快速方便地得到所需的數據。
下一篇c json 第二層