佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > golang實(shí)現(xiàn)sql結(jié)果集以json格式輸出的方法

golang實(shí)現(xiàn)sql結(jié)果集以json格式輸出的方法

熱門(mén)標(biāo)簽:地方門(mén)戶(hù)網(wǎng)站 呼叫中心市場(chǎng)需求 Linux服務(wù)器 網(wǎng)站排名優(yōu)化 AI電銷(xiāo) 百度競(jìng)價(jià)排名 鐵路電話(huà)系統(tǒng) 服務(wù)外包

本文實(shí)例講述了golang實(shí)現(xiàn)sql結(jié)果集以json格式輸出的方法。分享給大家供大家參考,具體如下:

復(fù)制代碼 代碼如下:
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
}

PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線(xiàn)工具供大家參考使用:

在線(xiàn)JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在線(xiàn)格式化工具:
http://tools.jb51.net/code/jsonformat

在線(xiàn)XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson

json代碼在線(xiàn)格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat

在線(xiàn)json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans

C語(yǔ)言風(fēng)格/HTML/CSS/json代碼格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json

希望本文所述對(duì)大家Go語(yǔ)言程序設(shè)計(jì)有所幫助。

您可能感興趣的文章:
  • golang使用json格式實(shí)現(xiàn)增刪查改的實(shí)現(xiàn)示例
  • golang json.Marshal 特殊html字符被轉(zhuǎn)義的解決方法
  • golang結(jié)構(gòu)體與json格式串實(shí)例代碼
  • golang如何修改json文件內(nèi)容的方法示例
  • Golang JSON的進(jìn)階用法實(shí)例講解
  • golang如何自定義json序列化應(yīng)用詳解
  • golang json性能分析詳解
  • golang中json反序列化可能遇到的問(wèn)題
  • Golang map如何生成有序的json數(shù)據(jù)詳解
  • 利用Golang解析json數(shù)據(jù)的方法示例
  • Golang中使用JSON的一些小技巧分享
  • Golang 如何解析和生成json

標(biāo)簽:湖南 銅川 蘭州 湘潭 黃山 崇左 衡水 仙桃

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《golang實(shí)現(xiàn)sql結(jié)果集以json格式輸出的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    锡林郭勒盟| 长葛市| 永寿县| 年辖:市辖区| 庄河市| 隆德县| 和平区| 韶山市| 昌乐县| 曲松县| 朔州市| 田东县| 固原市| 北安市| 宾川县| 枣强县| 金乡县| 喜德县| 东光县| 固阳县| 望江县| 长垣县| 贵州省| 和政县| 晋宁县| 犍为县| 孝昌县| 西充县| 上栗县| 河西区| 昌都县| 龙州县| 明水县| 泾阳县| 巩义市| 吐鲁番市| 望城县| 安岳县| 碌曲县| 昂仁县| 礼泉县|