【发布时间】:2018-10-08 17:13:42
【问题描述】:
我得到了我这样解析的 json str。
var bdoc interface{}
bson.UnmarshalJSON([]byte(gjson.Get(*str, "user").String()), &bdoc)
我的 bdoc 是 map[string]interface{} 类型。当我想从我的地图中获取密钥时,我会这样做:
bdoc.(map[string]interface{})["pk"]
但是我怎样才能为那个“pk”键设置一个新值呢?我想转换它 bdoc["pk"] = "1234567"。新值将不是接口类型,而是字符串类型。
【问题讨论】:
-
您可以将任何您想要的类型分配给
interface{}。究竟是什么问题? -
这可能对你很方便:github.com/icza/dyno(披露:我是作者)。