golang 数据库查询关于json字段数据的处理

xorm应该是比较普及的数据库插件,处理查用字段没什么问题,但在查询json字段时候,返回了一串base64。如下:

dbEngine.Table("f_shop_goods").Select("*").Where("id=?", id).Get(&nodeArr)

其中json字段返回这样:

goods_img_other: "WyIvdXBsb2Fkcy8yMDIzLzAyMjgvMTQyMTU1LnBuZyJd"

很显然,是base64,开始想到很简单,再处理一下,来个转码,结果如下:

decodeBytes, err := base64.StdEncoding.DecodeString(utils.Strval(nodeArr["goods_img_other"]))

直接给我返回了个这:

goods_img_other: "[91 34 47 117 112 108 111 97 100 115 47 50 48 50 51 47 48 50 50 56 47 49 52 50 49 53 53 46 112 110 103 34 93]"

通过reflect.TypeOf 观察到,其实他的数据类型是 []uint8, 于是改用了下面写法,恢复正常数据:

nodeArr["goods_img_other"] = string(nodeArr["goods_img_other"].([]uint8))

你可能感兴趣的:(开发笔记,数据库,json,servlet,golang)