私が探しているのは、gsonのbsonを直接作成できるので、Document.parse()MongoDBへの書き込みのためのgolangのjson文字列とbson文書をマーシャリングする方法はありますか?
と同じですか?マーシャリング用の中間ゴラン構造体を作成したくありません
私が探しているのは、gsonのbsonを直接作成できるので、Document.parse()MongoDBへの書き込みのためのgolangのjson文字列とbson文書をマーシャリングする方法はありますか?
と同じですか?マーシャリング用の中間ゴラン構造体を作成したくありません
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.M、bson.D.のようないくつかの中間のマーシャル/アンマーシャルのための構造体(高レベルのインターフェイス)、または直接BSON、または低レベルを使用するか選択することができますhttp://stackoverflow.com/questions/25518297/golang-bson-conversion – lofcek