我已经关注 json
[{"href":"/publication/192a7f47-84c1-445e-a615-ff82d92e2eaa/article/b;version=1493756861347"},{"href":"/publication/192a7f47-84c1-445e-a615-ff82d92e2eaa/article/a;version=1493756856398"}]
基于给定的answer我试过以下
var objmap map[string]*json.RawMessage
err := json.Unmarshal(data, &objmap)
我得到空数组并出现以下错误。有什么建议吗?
json: cannot unmarshal array into Go value of type map[string]*json.RawMessage
最佳答案
您可以解码为 []map[string]interface{}
,如下所示:
data := []byte(`[{"href":"/publication/192a7f47-84c1-445e-a615-ff82d92e2eaa/article/b;version=1493756861347"},{"href":"/publication/192a7f47-84c1-445e-a615-ff82d92e2eaa/article/a;version=1493756856398"}]`)
var objmap []map[string]interface{}
if err := json.Unmarshal(data, &objmap); err != nil {
log.Fatal(err)
}
fmt.Println(objmap[0]["href"]) // to parse out your value
要了解有关解码工作原理的更多信息,请参见此处:https://godoc.org/encoding/json#Unmarshal
关于没有结构的json解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43770273/