在Golang中,JSON數組是一種非常常見的數據類型。使用JSON數組可以方便地存儲和傳輸一個具有固定結構的列表數據。
在Golang中解析JSON數組有兩個主要步驟:首先將JSON字符串解析成一個JSON對象,然后從該JSON對象中獲取需要的數據。
package main
import (
"encoding/json"
"fmt"
)
type Person struct {
Name string
Age int
Email string
}
func main() {
jsonStr := `[{"name":"Tom","age":25,"email":"tom@example.com"},{"name":"Jack","age":30,"email":"jack@example.com"}]`
var people []Person
err := json.Unmarshal([]byte(jsonStr), &people)
if err != nil {
fmt.Println(err)
return
}
for _, person := range people {
fmt.Printf("Name: %s, Age: %d, Email: %s\n", person.Name, person.Age, person.Email)
}
}
在這個例子中,我們定義了一個Person結構體來表示每個人的數據。然后我們使用json.Unmarshal函數將JSON字符串解析成一個[]Person類型的切片。在解析JSON字符串時,我們使用了&符號來獲取people切片的指針,這樣可以在函數中修改people切片的值。
在解析完成后,我們遍歷people切片并打印每個人的數據。通過這個例子可以看出,Golang可以非常方便地解析JSON數組。