我有一些JSON,我需要能够访问属性.由于JSON属性可能会有所不同,因此无法创建struct
要解组的内容.
例
JSON可能是这样的:
{"name" : "John Doe", "email" : "john@doe.com"}
或这个:
{"town" : "Somewhere", "email" : "john@doe.com"}
或其他任何东西.
我如何访问每个属性?
你可以把它解组成一个interface{}
.如果这样做,json.Unmarshal
将将JSON对象解组为Go映射.
例如:
var untypedResult interface{} err := json.Unmarshal(..., &untypedResult) result := untypedResult.(map[string]interface{}) // ... now you can iterate over the keys and values of result ...
见< http://blog.golang.org/json-and-go#TOC_5.>作为一个完整的例子.