| > There is no easy way to sort of "parse" json piece by piece, which is what this library provides Well, you can use json.RawMessage to delay decoding until other values are known[0]. However, this still requires that the input set is known at compile-time, which may not always be the case (some APIs sadly use a highly variable JSON schema, which can only be determined at runtime.) You also don't need to pass a pointer to a struct. For example, you can pass an interface{}, which allows you to decode data into a type that is specified by the calling function, which I made heavy use of in this Twitter client library, for example[1]. (This is more or less how encoding/json itself works under the surface, when you think about it, but oftentimes people forget to take advantage of this idiom in practice.) [0] http://golang.org/pkg/encoding/json/#RawMessage [1] https://github.com/ChimeraCoder/anaconda/blob/master/users.g... |