第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 Golang 將 MySQL 表轉(zhuǎn)儲(chǔ)為 JSON

使用 Golang 將 MySQL 表轉(zhuǎn)儲(chǔ)為 JSON

Go
慕村225694 2021-07-09 14:15:18
正在為 Go 中的 MySQL 到 JSON 組裝一個(gè)快速轉(zhuǎn)儲(chǔ)器。但是我發(fā)現(xiàn)我從數(shù)據(jù)庫(kù)中檢索的所有內(nèi)容都是一個(gè)[]byte數(shù)組。因此,我將所有內(nèi)容都編碼為字符串,而不是原生 JSON 整數(shù)或布爾值。代碼的子集:import (    "encoding/json"    "database/sql"    _ "github.com/go-sql-driver/mysql")func dumpTable(w io.Writer, table) {    // ...    rows, err := Query(db, fmt.Sprintf("SELECT * FROM %s", table))    checkError(err)    columns, err := rows.Columns()    checkError(err)    scanArgs := make([]interface{}, len(columns))    values   := make([]interface{}, len(columns))    for i := range values {        scanArgs[i] = &values[i]    }    for rows.Next() {        err = rows.Scan(scanArgs...)        checkError(err)        record := make(map[string]interface{})        for i, col := range values {            if col != nil {                fmt.Printf("\n%s: type= %s\n", columns[i], reflect.TypeOf(col))                switch t := col.(type) {                default:                    fmt.Printf("Unexpected type %T\n", t)                case bool:                    fmt.Printf("bool\n")                    record[columns[i]] = col.(bool)                case int:                    fmt.Printf("int\n")                    record[columns[i]] = col.(int)                case int64:                    fmt.Printf("int64\n")                    record[columns[i]] = col.(int64)                case float64:                    fmt.Printf("float64\n")                    record[columns[i]] = col.(float64)                case string:                    fmt.Printf("string\n")                    record[columns[i]] = col.(string)                case []byte:   // -- all cases go HERE!                    fmt.Printf("[]byte\n")                    record[columns[i]] = string(col.([]byte))                case time.Time:                    // record[columns[i]] = col.(string)                }            }        }        s, _ := json.Marshal(record)        w.Write(s)        io.WriteString(w, "\n")    }}
查看完整描述

3 回答

  • 3 回答
  • 0 關(guān)注
  • 527 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)