我有一条json消息需要解组到一个结构中,该结构包含math
包中的一些err = json: cannot unmarshal string into Go value of type *big.Float
字段。 json字段的类型为numeric。它给了我*big.Float
。
我想知道它为什么抱怨"不能解组字符串"因为我的json字段是数字类型。我需要做些什么才能将json归档到type Msg struct {
Usage0 *big.Float
Usage1 *big.Float
Usage2 *big.Float
}
// jsonMsg = {'Usage0': 31241.4543, "Usage1": 54354325423.65, ...}
err := json.Unmarshal(jsonMsg, &msg)
字段。
示例:
{{1}}
答案 0 :(得分:7)
在我看来(基于文档)它希望big.Float
的json作为字符串传入。这出戏证明了这一点:
https://play.golang.org/p/7XKn2hhXRD
如果你无法控制json那么你可以实现自己的unmarshaller作为替代。