私はlightフレームワークのWebフレームワークecho(https://github.com/labstack/echo)を使用しており、非常に簡単なAPIを構築しようとしています。エコーフレームワークを使用したgolang API
これは私のルートの1つである
e.Get("/v1/:channel/:username", getData)
これで、それはmysqlデータベース
func getData(c echo.Context) error {
quote := new(Quote)
for rows.Next() {
var username string
var message string
err = rows.Scan(&username, &message)
checkErr(err)
quote.username = username
quote.message = message
}
log.Println(quote)
defer rows.Close()
return c.JSON(http.StatusOK, quote)
}
からSELECT非常に単純な私はまた、戻り値
ため、この基本的な構造体を持っていないのgetData関数type Quote struct {
username string
message string
}
悲しいことに、今やJSONを返す方法を見つけることができません。 このコードを試してみると、サーバーからの応答は常にちょうど{}
私は戻りますc.Stringをうまく動作し、応答を出力しますが、私はJSONを返したいと思います。
私はこの例に従いましたが、ここで実際に問題を見ることはできません。 https://github.com/labstack/echox/blob/master/recipe/crud/main.go
私は間違っていると思いますか?
これは意味があり、完璧に機能します!ありがとうございました! – gempir
構造体を使わずに任意のjsonを生成する方法はありますか? – Homan
'map [string] interface {}'を使ってJSONにマーシャリングすることができます。たとえば。 (str)) ' ' t:= map [string]インターフェイス{} {"フィールド1:"値1 "、} str、エラー:= json.Marshal(t)' 'fmt.Println(string(str))' @ホマン –