温馨提示×

golang怎么解析json数组

小亿
258
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