我正在尝试将 SQL 输出 (GORP) 转换为 JSON。我正在将gorp与 mySql 一起使用。
这是我选择的代码
type Mane struct {
ManeId string `db:"mane_id"`
Manetana string `db:"manetana"`
Yajamana string `db:"yajamana"`
}
var manegalu []Mane
_, err = dbmap.Select(&manegalu, "SELECT mane_id, manetana, yajamana FROM kd_mane")
//Option 1: Not working: Array of numbers. Not the actual json
a, err := json.Marshal(manegalu)
mt.Fprint(w, string(a))
//Option 2: Not working: Array of numbers. Not the actual json
for _, p := range manegalu {
a, err := json.Marshal(p)
fmt.Fprint(w, string(a))
}
Run Code Online (Sandbox Code Playgroud)
我期待并输出这样的
{"mane_id":3323, "manetana":"ABC", "yajamana":"hgy"},{"mane_id":2323, "manetana":"ADFC", "yajamana":"FDER"},{"mane_id":12343, "manetana":"GDSC", "yajamana":"hFDEy"}
Run Code Online (Sandbox Code Playgroud)
你能让我知道我做错了什么吗?我明白为什么选项 1 不起作用。但根据https://gobyexample.com/json ,选项 2 对我来说似乎不错
搞定了。
a, err := json.Marshal(manegalu) //get json byte array
n := len(a) //Find the length of the byte array
s := string(a[:n]) //convert to string
fmt.Fprint(w, s) //write to response
Run Code Online (Sandbox Code Playgroud)