说明:
使用 Golang 解析 JSON 格式数据时,若以 interface{} 接收数字成员,则会按照下列规则进行解析,可见
bool, for JSON booleans
float64, for JSON numbers
string, for JSON strings
[]interface{}, for JSON arrays
map[string]interface{}, for JSON objects
nil for JSON null
interface{} for不明字段,直接声明为该类型
使用方式:
我们可以先根据如上说明类型进行声明,如字段的话,可以声明为interface{} ,待到具体逻辑处理时,根据具体类型进行判断。如一个字段可能为bool也可能为字符串,则可在逻辑编写时这样写:
if data == false || data== "" {
dashCmd.Refresh = 0
} else {
transRefreshString := data.(string)
refreshString := transRefreshString[0 : len(transRefreshString)-1]
refreshNumber, err := strconv.Atoi(refreshString)
if err != nil {
log.RemoteLogger().Warningf("the refresh value %v for dash %v convert failed!", data.Refresh, data.ID)
}
}
备注:
有问题欢迎加QQ群交流:728116314