Golang解析Invidious API布尔变量liveNow返回值异常问题
问题根因
Go标准库的encoding/json包仅支持对结构体首字母大写的导出字段进行序列化/反序列化操作。你定义的Video结构体中liveNow字段首字母为小写,属于包内私有字段,encoding/json作为外部包没有权限修改该字段的值,因此反序列化后该字段会保留bool类型的默认值false,和接口实际返回的结果无关。
修复方案
将liveNow字段的首字母改为大写,同时保留原有的json标签即可正常匹配接口返回的字段值:
type Video struct { TrackID string `json:"videoId"` Title string `json:"title"` LiveNow bool `json:"liveNow"` Author string `json:"author"` }
内容的提问来源于stack exchange,提问作者ssvdff
相关产品推荐
相关产品推荐

