json - Golang 嵌套结构用下划线解码

标签 json struct go instagram-api

我正在使用 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"`
        }
    }
}

对于要添加的图像 url,它需要在 Standard_Resolution 中包含下划线,我使用的是 Go Plus为 Atom 打包,我收到 lint 警告:

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

是否有另一种方法可以修复错误并在我的结构中保留值。

更新:

我可以在 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"`
}

关于json - Golang 嵌套结构用下划线解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31195707/

相关文章:

javascript - 如何在 JavaScript block 的 HTML 模板中禁用转义 URL/字符串

javascript - 如何将 json 放入我的 View 中?

javascript - jQuery 中简单的 get API 调用

c - 将元素添加到 C 结构体序列的前面

c++ - 解析字符串并将整数值插入结构 vector C++

C - 动态分配单个结构的优点

r - 将json对象转换为空间线数据框

javascript - 使用 Javascript 和 JSON 进行加法和减法

google-app-engine - 将简单的 golang 应用程序部署到 appengine 已停止工作

go - 为什么在 runtime.GOMAXPROCS(1) 时单个 goroutine 比多个 goroutine 运行得慢?