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))

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值