json - Golang解析为struct

标签 json api go nested

我无法将此json解析为我的结构。任何人都可以帮忙吗

{"error":false,"response":{"results":[{"id":68876,"name":"cee lo green - big girls"},{"id":68954,"name":"charles, ray - the girl friend"},{"id":69603,"name":"charlie puth - la girls"},{"id":68001,"name":"city girls - careless"},{"id":68000,"name":"city girls - millionaire dick"},{"id":68002,"name":"city girls - period (we live)"},{"id":68004,"name":"city girls - rap shit"},{"id":68003,"name":"city girls - runnin"},{"id":68019,"name":"clairo - pretty girl"},{"id":68223,"name":"cohn, marc - girl of mysterious sorrow"},{"id":68343,"name":"contours, the - searching for a girl"}
下面是我的代码
包主
导入(
“编码/ json”
“fmt”
“io / ioutil”
“日志”
“net / http”)
类型测试结构{
SngID字符串json:"id"SngNm字符串json:"name"}
输入内部结构{
Result[10] test `json:"results"`
}
输入外部结构{
Eror bool json:"error"响应[1]内部json:"results"}
func main(){
var songsearch[1] Outer

response, err := http.Get("https://searchly.asuarez.dev/api/v1/song/search?query=girl")
if err != nil{
    log.Fatal(err)
}

defer response.Body.Close()
if response.StatusCode != 200{
    log.Fatal("Didn't get 200")
}

rawdata, err := ioutil.ReadAll(response.Body)
if err!= nil{
    log.Fatal(err)
}

json.Unmarshal([]byte(rawdata), &songsearch)

fmt.Println(songsearch)
}

最佳答案

您的JSON格式错误(请检查json.Unmarshal返回的错误)。
无论如何,此结构应该适合您。

    type Response struct {
        Error    bool `json:"error"`
        Response struct {
            Results []struct {
                ID   int    `json:"id"`
                Name string `json:"name"`
            } `json:"results"`
        } `json:"response"`
    }

关于json - Golang解析为struct,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64072835/

相关文章:

python - 我如何将其写入文件?我已经实现了 Twitter 流 API (Python)...但它只是打印到控制台

php - 在何处以及如何为 Codeception Api 测试(Cests)设置数据

go - 中间件在没有指定挂载路径的情况下为每个请求执行

python - 有什么办法可以将 go 的源代码(包括结构类型)构建到 *.so 文件中?

javascript - 可以通过浏览器访问远程 json 组件,但不能通过 $.getJSON() 以编程方式访问

javascript - 数据键函数过滤器始终返回第一个元素

json - Redis 获取 “\” 到 JSON 字符串

python - 流分析通过事件中心从 Python 反序列化 JSON

javascript - 如何在浏览器中显示解码后的 JSON 数据

go - 根据请求的 URL 在主模板中执行模板片段