Go語言是一種強類型,高效的編程語言,近年來成為許多開發(fā)者熱門的選擇。它內置了對JSON格式的支持,使得在創(chuàng)建和處理JSON數(shù)據(jù)方面變得非常簡單。
JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,易于閱讀和編寫。Go語言能夠輕松地將JSON數(shù)據(jù)轉換為其它數(shù)據(jù)結構,例如數(shù)組。
// 定義JSON數(shù)組
var data = `[{"name":"John","age":34},{"name":"Amy","age":28},{"name":"Jane","age":42}]`
// 解析JSON數(shù)組為Go數(shù)據(jù)結構
var people []struct {
Name string `json:"name"`
Age int `json:"age"`
}
// 解碼JSON數(shù)據(jù)
err := json.Unmarshal([]byte(data), &people)
if err != nil {
panic(err)
}
// 輸出人物姓名和年齡
for _, person := range people {
fmt.Printf("%s: %d\n", person.Name, person.Age)
}
在上述示例中,我們首先定義了一個JSON數(shù)組data。接下來,我們使用struct類型定義了一個數(shù)據(jù)結構來存儲JSON數(shù)組中所有人員信息。然后,我們使用json包中的Unmarshal函數(shù)解密JSON數(shù)據(jù),并將解密后的數(shù)據(jù)存儲在people變量中。
最后,我們的代碼會遍歷數(shù)組中的每個對象,并輸出每個人的名稱和年齡。這是一個基本的示例,顯示了如何使用Go語言解析JSON數(shù)組并將其存儲在Go數(shù)據(jù)結構中。