gopkg.in/mgo.v2/bson
パッケージには、 UnmarshalJSON
という関数があります。
これはまさにあなたが望むことをします。
data
パラメータは、JSON文字列を[]byte
として保持する必要があります 価値。
func UnmarshalJSON(data []byte, value interface{}) error
例:
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)
}