我不能更改的来源:
{
"perfectly_normal": "bar"
"fooBool": "0"
}桌面上有什么:
type hwo struct {
normality string `json:"perfectly_normal"`
makeMeBool ?????? `json:"fooBool"`
}
json.Unmarshal(body, hwo)什么是将"0"/"1"转换为false/true的好方法
发布于 2021-11-07 22:58:25
您可以使用DTO和方法将传递的DTO转换为所需的struct。
下面是一些伪代码,其中DTO用于基于DTO中的值创建新的hwo结构。
在不只是从int到boolean转换的情况下,这提供了一个额外的好处,即能够改变来自DTO的任何数据。
注释中提到的自定义类型的marshal和unmarshal函数也是一个很好的建议,而且可能更简单。
type hwo struct {
normality string `json:"perfectly_normal"`
makeMeBool boolean `json:"fooBool"`
}
type DTO struct {
normality string
fooBool int
}
func ToHwo(dto DTO) hwo {
fooBool := true
if dto.fooBool == 0 {
fooBool = false
}
return hwo {
normality: dto.nornality,
fooBool: fooBool,
}
}https://stackoverflow.com/questions/69877052
复制相似问题