溫馨提示×

golang怎么解析json數組

小億
280
2023-09-26 21:22:43
欄目: 編程語言

在Go語言中,我們可以使用encoding/json包來解析和處理JSON數據。首先,我們需要定義一個結構體來表示JSON數據的結構。然后,使用json.Unmarshal()函數將JSON數據解析到定義的結構體中。

以下是一個示例代碼,演示如何解析一個包含JSON數組的字符串:

package main
import (
"encoding/json"
"fmt"
)
type User struct {
Name  string `json:"name"`
Email string `json:"email"`
}
func main() {
data := `[{"name": "Alice", "email": "alice@example.com"}, {"name": "Bob", "email": "bob@example.com"}]`
var users []User
err := json.Unmarshal([]byte(data), &users)
if err != nil {
fmt.Println("解析JSON出錯:", err)
return
}
fmt.Println(users)
}

在上面的代碼中,我們定義了一個User結構體來表示JSON中的每個對象。結構體的字段名與JSON中的鍵名相對應,我們可以使用json結構標簽來映射字段名與JSON鍵名。在main()函數中,我們先定義了一個JSON字符串,然后使用json.Unmarshal()函數將其解析為一個[]User類型的變量users。如果解析成功,users將包含解析后的JSON數組。

輸出結果將會是:

[{Alice alice@example.com} {Bob bob@example.com}]

注意,在解析JSON數組時,我們需要將JSON字符串的字節切片傳遞給json.Unmarshal()函數,同時需要將定義的變量的指針傳遞給json.Unmarshal()函數。這樣,json.Unmarshal()函數將會解析JSON數據并將解析結果存儲在變量中。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女