I don't want to specify the type of my json since they are so messy and so complicated, I just want them to load into memory and I perform the lookup when needed.
It is easy with dynamic language such as python, e.g.
data = json.loads(str)
if "foo" in data:
...
How to do the same in go?
interface{}is indeed correct, but from experience, in complex json objects, it's a nightmare, and you are better off specifying the data structure in advance.