没有结构的json解码

标签 json go

我已经关注 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/

相关文章:

javascript - 取消嵌套从 api 返回的 JSon 对象

go - 堆叠写入器和 zlib.writer 的校验和错误

json - 带条件的查询

c# - 通过 AWS 开发工具包定价 API 使用 JSON

go - 从Wikipedia API解码JSON

json - 如何在golang中获取所有具有jsonpaths的对象

golang 相当于 ansi c raise()

go - 监视文件的添加并获取最后添加的行

javascript - 将数据发布到 JsonP

json - Node.js 中的正文解析不会转义请求正文中的换行符? JSON