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

如何使用golang在JSON中打印sql行?

在Golang中,可以使用encoding/json包来将SQL行打印为JSON格式。下面是一个示例代码:

代码语言:txt
复制
package main

import (
    "database/sql"
    "encoding/json"
    "fmt"
    "log"

    _ "github.com/go-sql-driver/mysql"
)

type SQLRow struct {
    ID    int    `json:"id"`
    Name  string `json:"name"`
    Email string `json:"email"`
}

func main() {
    // 连接数据库
    db, err := sql.Open("mysql", "username:password@tcp(localhost:3306)/database")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    // 执行SQL查询
    rows, err := db.Query("SELECT * FROM users")
    if err != nil {
        log.Fatal(err)
    }
    defer rows.Close()

    // 构建SQLRow切片
    var sqlRows []SQLRow

    // 遍历查询结果
    for rows.Next() {
        var row SQLRow
        err := rows.Scan(&row.ID, &row.Name, &row.Email)
        if err != nil {
            log.Fatal(err)
        }
        sqlRows = append(sqlRows, row)
    }

    // 将SQL行转换为JSON格式
    jsonData, err := json.Marshal(sqlRows)
    if err != nil {
        log.Fatal(err)
    }

    // 打印JSON数据
    fmt.Println(string(jsonData))
}

上述代码中,首先使用database/sql包连接到MySQL数据库,并执行SQL查询获取结果集。然后,定义了一个SQLRow结构体来表示每一行的数据,并使用json标签指定了JSON字段的名称。接着,通过遍历查询结果,将每一行的数据存储到sqlRows切片中。最后,使用json.Marshal函数将sqlRows切片转换为JSON格式的字节数组,并通过fmt.Println函数打印JSON数据。

请注意,上述示例中使用的是MySQL数据库,你需要根据实际情况修改连接字符串和SQL查询语句。另外,你还需要在代码中导入github.com/go-sql-driver/mysql包来支持MySQL数据库的连接。

推荐的腾讯云相关产品:腾讯云数据库MySQL、腾讯云云服务器CVM。

腾讯云数据库MySQL产品介绍链接地址:https://cloud.tencent.com/product/cdb

腾讯云云服务器CVM产品介绍链接地址:https://cloud.tencent.com/product/cvm

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

相关·内容

领券