Golang解组以数组开头的json

Golang解组以数组开头的json,json,go,decode,Json,Go,Decode,我正试图解开这个json 它以两个不同对象的数组开始,我只需要第二个对象的数据 我想检索注释主体,当我试图解码它时,它不会给我任何错误,但它不会捕获我想要的数据 这是我通过运行以下命令得到的输出: //Response struct when initialized: [] //Response struct decoded: [{{{[]}}} {{{[]}}}] //// 正在解组的json数据与您的数据不一致,如果字段的名称与结构中的不同,您也应该使用结构标记。应该是这样的: type

我正试图解开这个json

它以两个不同对象的数组开始,我只需要第二个对象的数据

我想检索注释主体,当我试图解码它时,它不会给我任何错误,但它不会捕获我想要的数据

这是我通过运行以下命令得到的输出:

//Response struct when initialized: []
//Response struct decoded: [{{{[]}}} {{{[]}}}]
////


正在解组的json数据与您的数据不一致,如果字段的名称与结构中的不同,您也应该使用结构标记。应该是这样的:

type Response []struct {
        Kind string `json:"kind"`
        Data struct {
            Children []struct {
                Data struct {
                    Replies []struct {
                       // whatever...
                    } `json:"replies"`
                } `json:"data"`
            } `json:"children"`
        } `json:"data"`
    }
}
当然,我会将内联类型替换为真实的命名类型,但我只是在这里强调数据层次结构


该死的,这是一些丑陋的臃肿JSON顺便说一句。

你正在解封的JSON数据与你的数据不一致,如果字段的名称与你的结构不一样,你也应该使用结构标记。应该是这样的:

type Response []struct {
        Kind string `json:"kind"`
        Data struct {
            Children []struct {
                Data struct {
                    Replies []struct {
                       // whatever...
                    } `json:"replies"`
                } `json:"data"`
            } `json:"children"`
        } `json:"data"`
    }
}
当然,我会将内联类型替换为真实的命名类型,但我只是在这里强调数据层次结构


该死,这是一些丑陋的臃肿JSON顺便说一句。

对于所有努力为JSON解组创建正确结构的人,这里有一个很酷的网站,可以将任何JSON转换为正确的结构:

对于所有努力为JSON解组创建正确结构的人,这是一个很酷的网站,可以将任何JSON转换为right Go结构:

谢谢!我会试试看。是的,我不知道reddit开发者在生成Json时是怎么想的。谢谢!我会试试看。是的,我不知道reddit开发者在生成Json时是怎么想的。天哪,这个网站太棒了。非常感谢您的分享!天哪,这个网站太棒了。非常感谢您的分享!