golang输出int64类型的数据js接收问题

服务端使用go语言,框架iris输出的json里有int64类型的数据:7156182378476995584,js接收之后值发生了变化,变为:7156182378476996000

问题主要在服务端:

clipboard.png
这个struct是我要输出的data,里面的Uid是int64位,我想在输出时将它转为string,这个除了通过for循环有没有优雅的处理方法

阅读 8.9k
3 个回答

让go的这个结构体实现Marshaler接口,在接口实现里把Uid属性值改为字符串,这样一来结构体序列化成的JSON结构中Uid属性就是字符串了。

这明显溢出了,计算机不支持那么大的数字,你可以选择把数字变成字符串

js數值操過Math.pow(2, 53)會丟失精度的,可以在接收的時候轉爲字符串啊

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题