Golangでjsonをbsonに変換する

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

References