该
gopkg.in/mgo.v2/bson程序包有一个名为的函数
UnmarshalJSON,它可以完全满足您的需求。
该
data参数应包含JSON字符串作为
[]byte值。
func UnmarshalJSON(data []byte, value interface{}) errorUnmarshalJSON解组一个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)}


