json – Golang嵌套结构用下划线解组

我正在使用Instagram API编写应用程序.

我收到一个
JSON请求,并将Unmarshal’ed转换为嵌套结构.

// the nested structs
type ResponseData struct {
    ID   string `json:"id"`
    Link string `json:"link"`
    Type string `json:"type"`
    User struct {
        FullName       string `json:"full_name"`
        ID             int    `json:"id"`
        ProfilePicture string `json:"profile_picture"`
        Username       string `json:"username"`
    }
    Images struct {
        Standard_Resolution struct {
            URL string `json:"url"`
        }
    }
}

对于要添加的Image URL,它需要在Standard_Resolution中使用下划线,我使用Go Plus Package for Atom并获得lint警告:

don’t use underscores in Go names; struct field Standard_Resolution
should be StandardResolution

有没有另一种方法可以解决我的错误,并且仍然在我的struct中有值.

更新:

我可以在StandardResolution的最后一个括号后面添加一个标识符.

StandardResolution struct {
    URL string `json:"url"`
} `json:"standard_resolution"`

最佳答案 无论如何,如果不使用嵌套结构,则更容易阅读.

type RDUser struct { ... }
type RDStandardResolution struct { ... }
type RDImages struct {
    StandardResolition RDStandardResolution `json:"standard_resolution"`
}
type ResponseData struct {
    ...
    User RDUser `json:"user"`
    Images RDImages `json:"images"`
}
点赞