我在看什么相当于Document.parse()如何编组json字符串到golang中的bson文档以写入MongoDB?
在golang,它允许我直接从json创建bson吗?我不想创建用于封送的中间golang结构
我在看什么相当于Document.parse()如何编组json字符串到golang中的bson文档以写入MongoDB?
在golang,它允许我直接从json创建bson吗?我不想创建用于封送的中间golang结构
gopkg.in/mgo.v2/bson
程序包有一个名为UnmarshalJSON
的功能,它正是您想要的功能。
data
参数应该包含您的JSON字符串作为[]byte
的值。
func UnmarshalJSON(data []byte, value interface{}) error
UnmarshalJSON解编为BSON的扩展JSON规范中定义的,其可以保持非标准语法JSON值。
例子:
var bdoc interface{}
err = bson.UnmarshalJSON([]byte(`{"id": 1,"name": "A green door","price": 12.50,"tags": ["home", "green"]}`),&bdoc)
if err != nil {
panic(err)
}
err = c.Insert(&bdoc)
if err != nil {
panic(err)
}
您可以选择将用于编组/解组的一些中间结构(高级接口),或直接BSON,或低水平像bson.M,bson.D.看看http://stackoverflow.com/questions/25518297/golang-bson-conversion – lofcek