golang怎么解析json数组

avatar
作者
猴君
阅读量:0

在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数据并将解析结果存储在变量中。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!