我正在访问一个以以下形式返回 JSON 的 API:[{"UniqueID":1234, "DocID":5678}, {"UniqueID":5678, "DocID":9101112}]这个 API 是用 Go 编写的,示例输出是返回在浏览器中的显示方式。内容类型标头是 application/json我有以下代码来检索和解组它: type UniqueIDDocID struct{ UniqueID int64 `json: "UniqueID"` DocID int64 `json: "DocID"` } type UniqueIDDocIDCollection struct{ FullList []UniqueIDDocID } func retrieveUniqueIDByPublication(nodeid int64, publication string){ // call the API //hgr := new(retrieval.HttpGetRetrieval)// endpoint is defined here - I have removed for privacy reasons fmt.Println(endpoint) // the url which I know works /*response, err := hgr.RequestResponse(endpoint) if err != nil { l4g.Warn("Could not retrieve the endpoint %s. Error: ", endpoint, err) return } defer hgr.CloseResponse(response) queryResult := hgr.ReadResponse(response)*/ client := new(http.Client) request, err := http.NewRequest("GET", endpoint, nil) if err != nil { l4g.Warn("Could not retrieve the endpoint %s. Error: %v", endpoint, err) return } request.Header.Set("Content-Type", "applicaiton/json") response, err := client.Do(request) if err != nil { l4g.Warn("Could not retrieve the endpoint %s. Error: %v", endpoint, err) return }我收到“无法解组”消息,日志中的详细信息显示如下:[91 123 34 85 110 105 113 117 101 73 68 34 58 34 56 51 57 51 50 53 56 54 34 44 34 68 111 99 73 68 34 58 52 49 50 49 54 57 49 57 125 44 123 34 85 110 105 113 117 101]作为代表性样本。在这个解组步骤中我做错了什么?我想要的输出是 UniqueIDDocIDCollection 结构上有一个切片,其中包含类型 UniqueIDDocID 的项目,然后我可以从中获取 UniqueID 并将其写入行分隔文件。我一直在谷歌搜索并尝试了很多东西,但每次都是我得到的。如果您对源 JSON 也有任何建议,请分享这些建议,因为我可以在 API 中进行更改。
1 回答
- 1 回答
- 0 关注
- 197 浏览
添加回答
举报
0/150
提交
取消