我有一个结构VideoInfo
有一个关键在它称为embedCode
。我查询的API返回嵌入代码embed_code
。在解组响应期间,我如何确保embed_code
进入embedCode
?如何处理结构具有不同的JSON键比JSON响应
还有一种简单的方法来获取一个大的JSON字符串并自动将其变成一个结构,或者只能使用一个地图?
我有一个结构VideoInfo
有一个关键在它称为embedCode
。我查询的API返回嵌入代码embed_code
。在解组响应期间,我如何确保embed_code
进入embedCode
?如何处理结构具有不同的JSON键比JSON响应
还有一种简单的方法来获取一个大的JSON字符串并自动将其变成一个结构,或者只能使用一个地图?
对于重映射的字段名称使用相应的注释在结构声明:
type VideoInfo struct {
EmbedCode string `json:"embed_code"`
}
编组/未编组将只处理公共领域,所以你需要大写字段名。
关于转换整个结构,是的,这很容易。声明一个实例未元帅入并传递给json.Unmarshal
方法的引用(从测试):
data, _ := json.Marshal(request)
var resp response.VideoInfo
if err := json.Unmarshal(data, &resp); err != nil {
t.Errorf("unexpected error, %v", err)
}
首先,struct的字段必须从大写字母开始公开。因此,你需要类似的东西:
type VideoInfo struct {
EmbedCode string `json:"embed_code"`
}
而且看documentation获取更多信息。
这是我落得这样做,所以我很高兴你确定这是正确的方式。非常感谢! –