问题描述:
golang开发中,我们会用到json.Unmarshal 将[]byte数组反序列化回 struct。json.Unmarshal 在处理长整型的时候,因为处理精度不够,会把长整型转换成float64,最后导致数据显示不正确。
问题解决:
var jiter = jsoniter.Config{ EscapeHTML: false, MarshalFloatWith6Digits: true, // will lose precession ObjectFieldMustBeSimpleString: true, // do not unescape object field UseNumber: true, }.Froze()
设置 useNumber = true 这样 json.Unmarshal 能够正常处理长整型。