Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Membuang tabel MySQL ke JSON dengan Golang

Saya juga perlu membuang tabel database ke json dan inilah cara saya mencapainya:(berbeda dari jawaban lain dalam topik ini, semuanya bukan string, berkat jawaban ini:https://stackoverflow.com/a/17885636/4124416 , saya bisa mendapatkan bidang bilangan bulat dengan benar)

func getJSON(sqlString string) (string, error) {
    rows, err := db.Query(sqlString)
    if err != nil {
        return "", 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 
}

Berikut adalah contoh keluarannya:

[{"ID":0,"Text":"Zero"},{"ID":1,"Text":"One"},{"ID":2,"Text":"Two"}]


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menempatkan baris di atas dalam kueri mysql.

  2. Gagal memuat kelas driver com.mysql.jdbc.Driver

  3. Bagaimana cara menghubungkan ke MySQL di Amazon EC2 dari Windows?

  4. LINQ untuk alat Java

  5. Mengembalikan hasil kueri dalam urutan yang telah ditentukan sebelumnya