使用Fiber,Golang返回像json这样的数组

我的数据库中有一个包含token、user_id和last_seen列的表


任务是在收到获取请求时将它们与我的应用程序一起发送


光纤,Golang:


    type sessionsInfo struct {

        token           string

        user_id         int

        last_seen       string

    }

    app.Get("/testA", func(c *fiber.Ctx) error {

        logMsg("GET /testA")

        var sessions sessionsInfo

        execQuery := `select * from sessions`

        rows, err := db.Query(execQuery)

        if err != nil {

            fmt.Println(err)

            return c.SendStatus(418)

        }

        var sessionsArray []sessionsInfo

        for rows.Next(){

            rows.Scan(

                &sessions.token,

                &sessions.user_id,

                &sessions.last_seen,

            )

            sessionsArray = append(sessionsArray, sessions)

        }

        defer rows.Close()

        fmt.Println(sessionsArray)

        c.JSON(sessionsArray)

        return c.SendStatus(200)

    })

但是出于某种原因,当我查看答案的正文时,我看到有 25 个空子 json 的 json(我不知道如何正确命名它,lmao),就像这样


[

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {},

    {}

]

与应有的计数相同,但为空。结果应该是这样的


[

    {

        "token": "be0e6163-ce2c-4ac3-5349-ff3b34a51c37",

        "id": "1",

        "last_seen": "2021-10-21T17:50:42.308751Z"

    },

    {

        "token": "6c4f21f1-dc00-4975-6fe2-c69d14328099",

        "id": "2",

        "last_seen": "2021-10-21T17:51:27.963031Z"

    }

    ...

    ...

    ...

]

我怎样才能解决这个问题?我究竟做错了什么?


收到一只叮咚
浏览 167回答 1
1回答

萧十郎

导出类型:type sessionsInfo struct {    token           string    user_id         int    last_seen       string}至:type SessionsInfo struct {    Token           string `json:"token"`    User_id         int `json:"user_id"`    Last_seen       string `json:"last_seen"`}
打开App,查看更多内容
随时随地看视频慕课网APP