對(duì)于Golang編程語(yǔ)言而言,JSON是非常常見的數(shù)據(jù)格式。在Golang中,使用JSON的情境比較多,因此Golang提供了非常簡(jiǎn)便的使用JSON的API。在本文中,我們將會(huì)介紹如何在Golang中遍歷JSON數(shù)組。
JSON是一種輕量級(jí)的數(shù)據(jù)交換格式,它的語(yǔ)法和JavaScript語(yǔ)言的語(yǔ)法非常相似。在Golang中,可以使用內(nèi)置的json包進(jìn)行JSON數(shù)據(jù)的編解碼操作。下面是一個(gè)簡(jiǎn)單的JSON數(shù)組的例子:
[ {"name": "小紅", "age": 22}, {"name": "小明", "age": 25}, {"name": "小剛", "age": 28} ]
為了遍歷JSON數(shù)組,我們需要解析JSON數(shù)據(jù)并轉(zhuǎn)換成Go語(yǔ)言中的結(jié)構(gòu)體。接下來(lái)的代碼演示了如何解析上述JSON數(shù)組:
package main import ( "encoding/json" "fmt" ) func main() { jsonData := []byte(`[ {"name": "小紅", "age": 22}, {"name": "小明", "age": 25}, {"name": "小剛", "age": 28} ]`) var people []struct { Name string `json:"name"` Age int `json:"age"` } err := json.Unmarshal(jsonData, &people) if err != nil { fmt.Println(err) return } for _, person := range people { fmt.Printf("%s is %d years old\n", person.Name, person.Age) } }
運(yùn)行上述代碼,輸出結(jié)果如下:
小紅 is 22 years old 小明 is 25 years old 小剛 is 28 years old
通過(guò)上述代碼,我們可以看到,使用Golang遍歷JSON數(shù)組非常簡(jiǎn)單。我們只需要先將JSON數(shù)據(jù)解析成Go語(yǔ)言中的結(jié)構(gòu)體,然后就可以使用常規(guī)的for循環(huán)遍歷該結(jié)構(gòu)體并獲取其中的具體數(shù)據(jù)項(xiàng)。