Golang Json 科学计数法
文章目录
使用Go解析一个从其他接口返回的JSON字符串,有时会遇到数字以科学计数法的形式展现,比如
源:
1 | {"message": "success", "data": 6566651968} |
处理后:
1 | {"message": "success", "data": 6.566651968e+09} |
Go程序大体如下:
1 | func xxxx() { |
例如Python遇到普通数值解析出来为int, 碰到科学技术法解析出来则为float:
1 | import json |
为什么会这么处理? Go官方文档的说明:
To unmarshal JSON into an interface value, Unmarshal stores one of these in the interface value:
float64, for JSON numbers
解决方案是使用Decoder.UseNumber方法, 可以简单看下这个回答
修改后Go代码:
1 | func xxxx() { |