小编典典

如何将json字符串编组到bson文档以写入MongoDB?

go

我正在寻找的等效于Document.parse()

在golang中,这允许我直接从json创建bson吗?我不想创建用于编组的中间Go结构


阅读 306

收藏
2020-07-02

共1个答案

小编典典

gopkg.in/mgo.v2/bson程序包有一个名为的函数UnmarshalJSON,它可以完全满足您的需求。

data参数应包含JSON字符串作为[]byte值。

 func UnmarshalJSON(data []byte, value interface{}) error

UnmarshalJSON解组一个JSON值,该值可能包含BSON扩展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)
}
2020-07-02