1
マップをJSON文字列に変換しようとしています。しかし、私のコードは数字の配列を生成するようです。私はlog.Println(mapper)
のコメントを解除する場合はここでマップをjsonに変換するとゴランの整数が多くなります
は私main.goが
package main
import (
"encoding/json"
"log"
)
type column struct {
field string
fieldType string
}
type tblSchema struct {
tbl string
columns map[string]column
}
func main() {
mapper := make(map[string]tblSchema)
columns := make(map[string]column)
columns["first"] = column{field:"user_id",fieldType:"int(11)"}
mapper["t_user"] = tblSchema{tbl:"t_user",columns:columns}
jsonString, _ := json.Marshal(mapper)
log.Println(jsonString)
//log.Println(mapper)
}
である。これは、次のような出力
[123 34 116 95 117 115 101 114 34 58 123 125 125]
を生成し、私は私が間違って何をやっている
map[t_user:{t_user map[first:{user_id int(11)}]}]
を取得しますか?私はあなたがstring
に変換する必要がありjsonStringが
{
"t_user":{
"tbl":"t_user",
"columns":{
"first":{
"field":"user_id",
"fieldType":"int(11)"
}
}
}
また、構造体フィールドをエクスポートする必要があります。 tblSchemaとカラムにはエクスポートされたフィールドがないので、これからのjsonは '{" t_user ":{}}'です。 – sberry
@John: 'MarshalIndent'についてはこれを見てください:https://play.golang.org/p/k2H-6-lMz_ –