在golang中解组json数组时出错
此代码示例尝试解析json数组: 包干管 进口 fmt io/ioutil net/http 编码/json 类型MPkgInfo struct{ 名称字符串 版本字符串 } 类型ClojarsPkg struct{ jar_名称字符串 组名称字符串 版本字符串 } 类型clojarssearch结构{ 结果【】ClojarsPkg } func findPackageClojarsname字符串*MPkgInfo,错误{ s:=https://clojars.org/search?q=artifact-id:+name+&format=json 打印格式 res,err:=http.get 如果错误!=零{ 返回零,错误 } 克洛贾尔索普酒店 bs,err:=ioutil.ReadAllres.Body 格式打印字符串 err=json.Unmarshalbs,&resp 如果错误!=零{ 返回零,错误 } t:=相应结果[0] 返回和MPkgInfo{ 名称:t.group_name+/+t.jar_name, 版本:t.version, },零 } func main{ fmt.printlnfindpackageclojar\u结构 } 但是json响应没有被正确解析。我在访问数组元素时遇到索引超出范围错误。即使数组的长度为1,如println所示。在解组时尝试err=json.Unmarshalbs,&resp.results。因此,结果数组将存储在resp.results中。您需要修改字段,必要时可以使用指定json中的实际小写名称在golang中解组json数组时出错,json,go,unmarshalling,Json,Go,Unmarshalling,此代码示例尝试解析json数组: 包干管 进口 fmt io/ioutil net/http 编码/json 类型MPkgInfo struct{ 名称字符串 版本字符串 } 类型ClojarsPkg struct{ jar_名称字符串 组名称字符串 版本字符串 } 类型clojarssearch结构{ 结果【】ClojarsPkg } func findPackageClojarsname字符串*MPkgInfo,错误{ s:=https://clojars.org/search?q=arti
type MPkgInfo struct {
Name string `json:"name"`
Version string `json:"version"`
}
type ClojarsPkg struct {
JarName string `json:"jar_name"`
GroupName string `json:"group_name"`
Version string `json:"version"`
}
type ClojarsSearchOp struct {
Results []ClojarsPkg `json:"results"`
}
另一个: