I wonder whether it would be worth being explicit about the json structure upfront and hopefully avoid all those type assertions  all over the place, something along the lines of http://play.golang.org/p/O3MrlMvBwL