关闭

golang: 把sql结果集以json格式输出

2793人阅读 评论(0) 收藏 举报
分类:

代码出处:http://stackoverflow.com/questions/19991541/dumping-mysql-tables-to-json-with-golang

func getJSON(sqlString string) (string, error) {
	stmt, err := db.Prepare(sqlString)
	if err != nil {
		return nil, err
	}
	defer stmt.Close()
	rows, err := stmt.Query()
	if err != nil {
		return nil, err
	}
	defer rows.Close()
	columns, err := rows.Columns()
	if err != nil {
	  return "", err
	}
	count := len(columns)
	tableData := make([]map[string]interface{}, 0)
	values := make([]interface{}, count)
	valuePtrs := make([]interface{}, count)
	for rows.Next() {
	  for i := 0; i < count; i++ {
		  valuePtrs[i] = &values[i]
	  }
	  rows.Scan(valuePtrs...)
	  entry := make(map[string]interface{})
	  for i, col := range columns {
		  var v interface{}
		  val := values[i]
		  b, ok := val.([]byte)
		  if ok {
			  v = string(b)
		  } else {
			  v = val
		  }
		  entry[col] = v
	  }
	  tableData = append(tableData, entry)
	}
	jsonData, err := json.Marshal(tableData)
	if err != nil {
	  return "", err
	}
	fmt.Println(string(jsonData))
	return string(jsonData), nil 
}


0
0
查看评论

MYSQL简语---查询数据库并输出JSON

在最近的项目中,需要对相应的数据进行处理事输出JSON格式,以让手机解析。以下为相应的验证过后的代码。 1、共用代码—–数据库连接**$con = mysql_connect("localhost","root","password"); ...
  • qq_17121501
  • qq_17121501
  • 2016-07-29 23:13
  • 6900

将数据库中的结果集转换为json格式

将数据库中的结果集转换为json格式
  • zhouxukun123
  • zhouxukun123
  • 2017-06-18 16:42
  • 2215

java获取mysql数据,resultSetToJson,结果集转换成json数组

//jsp 写方法 前面要加   感叹号..... // json数组   JSONArray array = new JSONArray(); // 获取列数   ResultSetMetaData metaData = rs.getMetaD...
  • wocaonima332
  • wocaonima332
  • 2016-06-01 17:08
  • 1308

go json数据格式化输出

package main import ( "bytes" "encoding/json" "log" "os" ) func main() { type Road stru...
  • u013870094
  • u013870094
  • 2017-06-10 00:14
  • 1323

在Go语言中使用JSON

有这么一个结构体: type Proto struct { Id int `json:""` }
  • tiaotiaoyly
  • tiaotiaoyly
  • 2014-08-30 15:10
  • 58244

PHP连接MySQL数据库并以json格式输出

1.简介 PHP连接数据库有多种方法,现介绍常用的MySQL数据库连接方法,PHP连接MySQL也有两种方式,一是面向对象,二是面向过程方式,两种方法稍有区别。下面通过代码介绍两种方法连接MySQL并以json格式输出。 2、面向对象方式 <?php header("conte...
  • Qing_yun
  • Qing_yun
  • 2015-07-14 11:19
  • 5820

golang 基于go-sql-driver的增删改查的简单封装

mysql> desc test; +-------+---------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------+...
  • u014798316
  • u014798316
  • 2014-08-12 17:07
  • 1917

golang json数组拼接

func main() { a := []byte(`{"Parents": [ "aaaaa", "bbbbbbb" ]}`) b := []byte(`{"Parents": [ "Gome...
  • pingD
  • pingD
  • 2016-06-16 15:38
  • 2136

golang json 封装包

写这个json 主要是为了  回忆基础知识,不清楚还缺什么。自己再构思一下 package main import ( "encoding/json" "fmt" ) //创建一个 json 构造体用来存储数据 type MyJsonPro...
  • liangguangchuan
  • liangguangchuan
  • 2016-12-16 09:46
  • 605

Golang开发实践:把数据库数据保存到map[string]interface{}中

根据某个奇葩需求这段时间要做一个筛选数据库数据的工具,要求逐条从数据库读取数据。然后根据某几个字段筛选保存数据。这样一来某些不需要作为筛选依据的字段也要读取。
  • iyeahme
  • iyeahme
  • 2017-07-11 16:01
  • 999
    个人资料
    • 访问:7548143次
    • 积分:23954
    • 等级:
    • 排名:第334名
    • 原创:269篇
    • 转载:335篇
    • 译文:0篇
    • 评论:552条
    博主写的书已经上市
    个人资料
    本人曾健生,家乡是佛山,现在广州工作,《App后台开发运维和架构实践》一书作者,曾经负责社交app "ekeo"和"米信"的后端开发,目前就职于云后端平台bmob从事云服务方面的开发工作(想了解bmob点击这里

    qq:190678908
    本人的微信公众号"app后端"
    app后端
    博客专栏
    最新评论