繁体   English   中英

将JSON解组为Golang类型Big.Float

[英]Unmarshal JSON into Golang type Big.Float

我有一个json消息,需要解组为一个结构,它有一些来自math包的big.Float字段。 json字段的类型为numeric。 它给了我err = json: cannot unmarshal string into Go value of type *big.Float

我想知道为什么它抱怨“不能解组字符串”,因为我的json字段是数字类型。 我需要做些什么才能将json归档到*big.Float字段。

例:

type Msg struct {  
      Usage0   *big.Float 
      Usage1   *big.Float 
      Usage2   *big.Float       
}

// jsonMsg = {'Usage0': 31241.4543, "Usage1": 54354325423.65, ...}

err := json.Unmarshal(jsonMsg, &msg)

在我看来(基于文档)它期望big.Float的json作为字符串传入。 这个剧本证明了工作:

https://play.golang.org/p/7XKn2hhXRD

如果你无法控制json那么你可以实现自己的unmarshaller作为替代。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM