0
データベースからデータをクエリしてJSONとして送信するGo MySQLサーバを設定しようとしています。私のデータベースには、新しいJSONタイプの列がいくつか含まれています。Go REST-APIでMySQL JSONデータ型を転送する
マップ構造体:私はこの
のように、このデータを送信する場合、データベースfunc GetMap(id int) Map{
var mapId int
var data string //which type should this be
var userId int
var created time.Time
err := _getMap.QueryRow(id).Scan(&mapId, &data, &userId, &created) //getMap is a prepared query
mapObj := Map{Id:mapId, Data:data, UserId:userId, Created:created}
return mapObj
}
からデータをフェッチする
type Map struct{
Id int `json:"id"`
Data string `json:"data"` //This column is stored in the database as a JSON. Which type to use here?
Created time.Time `json:"created"`
UserId int `json:userid`
}
機能
resp.Header().Set("Content-Type", "application/json; charset=UTF-8")
resp.WriteHeader(http.StatusOK)
gmap := GetMap(id)
err := json.NewEncoder(resp).Encode(gmap);
JSONでデータをそのクライアントは文字列としてフォーマットされます:
{\"field\":\"nowork\"...}
私は問題は、データが間違った形式で解析されることを意味し、構造体の定義で間違ったデータ型によって引き起こされると思います。
データ型を[] uint8、interface {}などに変更しようとしましたが、関連性があると思われるものもありますが、役に立たないものもあります。
JSONエンコード/デコードhttps://github.com/antonholmquist/のためにこれを使用ジェイソン私は同様の問題を抱えていました。私はそのJASONに切り替えて、うまくいきます。 – pregmatch
あなたは何を知っていますか?それは魅力のように機能します!ありがとう – Simopaa