{
"availBal": "100",
"availEq": "",
"cashBal": "100",
"ccy": "JFI",
"crossLiab": "",
"disEq": "0",
"eq": "100",
"frozenBal": "0",
"interest": "",
"isoEq": "",
"isoLiab": "",
"liab": "",
"mgnRatio": "",
"ordFrozen": "0",
"twap": "0",
"uTime": "1619264374442",
"upl": ""
}
比如这个json,大部分值都是浮点数。
""其实都是0,但是有的给了0,有的给了""。
type XXXX struct {
AvailBal float64 `json:"availBal,string"`
AvailEq float64 `json:"availEq,string"`
Ccy string `json:"ccy"`
CashBal float64 `json:"cashBal,string"`
UTime int64 `json:"uTime,string"`
DisEq float64 `json:"disEq,string"`
Eq float64 `json:"eq,string"`
FrozenBal float64 `json:"frozenBal,string"`
Interest float64 `json:"interest,string"`
IsoEq float64 `json:"isoEq,string"`
Liab float64 `json:"liab,string"`
MgnRatio float64 `json:"mgnRatio,string"`
OrdFrozen float64 `json:"ordFrozen,string"`
Upl float64 `json:"upl,string"`
UplLiab float64 `json:"uplLiab,string"`
CrossLiab float64 `json:"crossLiab,string"`
Twap string `json:"twap"`
IsoLiab float64 `json:"isoLiab,string"`
}
如果是"0",上面float64类型,带一个json 的string tag,就可以自动转换。
如果是"",上面的字符串unmarshal就会报告异常。
现在不想手工从string解析成float64, 兄弟们对这种情况有什么好办法吗?
--
FROM 117.176.242.*