首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

easyjson将数组解组为go struct

EasyJSON 是一个用于 Go 语言的高性能 JSON 库

首先,确保已经安装了 EasyJSON:

代码语言:javascript
复制
go get -u github.com/mailru/easyjson/...

然后,创建一个 Go 结构体,用于表示 JSON 数据:

代码语言:javascript
复制
// user.go
package main

type User struct {
    ID   int    `json:"id"`
    Name string `json:"name"`
}

接下来,为该结构体生成 EasyJSON 代码:

代码语言:javascript
复制
easyjson -all user.go

这将在同一目录下生成一个名为 user_easyjson.go 的文件,其中包含用于序列化和反序列化的代码。

现在,您可以使用 EasyJSON 将 JSON 数组解组为 Go 结构体切片:

代码语言:javascript
复制
package main

import (
    "encoding/json"
    "fmt"
    "log"
)

func main() {
    jsonData := `[
        {"id": 1, "name": "Alice"},
        {"id": 2, "name": "Bob"}
    ]`

    var users []User
    err := json.Unmarshal([]byte(jsonData), &users)
    if err != nil {
        log.Fatalf("Error unmarshaling JSON: %v", err)
    }

    for _, user := range users {
        fmt.Printf("ID: %d, Name: %s\n", user.ID, user.Name)
    }
}

运行此程序,您将看到以下输出:

代码语言:javascript
复制
ID: 1, Name: Alice
ID: 2, Name: Bob

这样,您就可以使用 EasyJSON 将 JSON 数组解组为 Go 结构体切片了。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

5分31秒

039.go的结构体的匿名字段

5分33秒

065.go切片的定义

9分14秒

063.go切片的引入

9分12秒

034.go的类型定义和类型别名

8分9秒

066.go切片添加元素

领券