赞!这个路子应该是最正的路子了。
BTW:想 m 一下,发现居然没有权限。
查了一下我是驻版用户,但是没加权限,版主可否给我升级一下权限?
【 在 gpmn (闪爷) 的大作中提到: 】
: 标 题: Re: json.Unmarshal对""转换为浮点数有什么好办法吗
: 发信站: 水木社区 (Wed Apr 28 01:16:02 2021), 站内
:
: 恩恩,找了下,用这个办法对付过去了:
:
: type Float64 float64
:
: func (fw *Float64) UnmarshalJSON(b []byte) (err error) {
: var slice []byte
: if len(b) >= 2 && b[0] == '"' { // "123.456" 和 ""格式的数字字符串
: if b[len(b)-1] != '"' {
: return errors.New(`missing '"' suffix`)
: }
: slice = b[1 : len(b)-1]
: if len(slice) == 0 {
: *fw = 0
: return nil
: }
: } else { // 123.456格式的字符串
: slice = b
: }
: tmp, err := strconv.ParseFloat(string(slice), 10)
: if nil != err {
: return err
: }
: *fw = Float64(tmp)
: return nil
: }
:
:
:
: 然后这样定义结构体,就可以反序列化了
: type XXXX struct {
: AvailBal Float64 `json:"availBal"`
: AvailEq Float64 `json:"availEq"`
: Ccy string `json:"ccy"`
: CashBal Float64 `json:"cashBal"`
: UTime int64 `json:"uTime,string"`
: DisEq Float64 `json:"disEq"`
: Eq Float64 `json:"eq"`
: FrozenBal Float64 `json:"frozenBal"`
: Interest Float64 `json:"interest"`
: IsoEq Float64 `json:"isoEq"`
: Liab Float64 `json:"liab"`
: MgnRatio Float64 `json:"mgnRatio"`
: OrdFrozen Float64 `json:"ordFrozen"`
: Upl Float64 `json:"upl"`
: UplLiab Float64 `json:"uplLiab"`
: CrossLiab Float64 `json:"crossLiab"`
: Twap string `json:"twap"`
: IsoLiab Float64 `json:"isoLiab"`
: }
:
: 【 在 world 的大作中提到: 】
: : 应该只能自己处理
: :
https://github.com/golang/go/issues/22182:
: --
: ※ 修改:·gpmn 于 Apr 28 01:17:12 2021 修改本文·[FROM: 117.176.242.*]
: ※ 来源:·水木社区
http://www.newsmth.net·[FROM: 117.176.242.*]
--
修改:gpmn FROM 117.176.242.*
FROM 27.38.241.*