Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

गोलांग के साथ JSON पर MySQL टेबल डंप करना

मुझे जेसन को डेटाबेस टेबल डंप करने की भी आवश्यकता थी और यहां बताया गया है कि मैंने कैसे हासिल किया:(इस विषय में किसी अन्य उत्तर से अलग, सब कुछ स्ट्रिंग नहीं है, इस उत्तर के लिए धन्यवाद:https://stackoverflow.com/a/17885636/4124416 , मैं पूर्णांक फ़ील्ड सही ढंग से प्राप्त कर सकता हूं)

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 
}

यहाँ एक नमूना आउटपुट है:

[{"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. MySQL में कैरेक्टर सेट और कॉलेशन को समझना

  2. MySQL को स्प्रिंग एप्लिकेशन से कनेक्ट करें

  3. मैं MySQL में initcap कार्यक्षमता कैसे प्राप्त कर सकता हूं?

  4. Percona XtraDB क्लस्टर के लिए ProxySQL के साथ लोड संतुलन

  5. /etc/mysql/my.cnf परिवर्तन के बाद MySQL कंटेनर क्रैश, वापस कैसे संपादित करें?