Go言語でMongoDBを扱っているとjsonをbsonに変換したくなります。 APIのレスポンスがjsonで返ってきて、それをMongoDBに格納したいときなどですね。
Go言語でMongoDBを触るためのdriverには、mgoがあります。
変換もmgoからできるのでgo get
しておきます。
go get gopkg.in/mgo.v2
あとはUnmarshalJSON()
を適用してあげればOKです。
逆にbsonをjsonにしてあげたいときはMarshalJSON()
を使います。
それぞれ実装例は以下です。
gist2bd83a17dba79bec793e5f07296e7b6e