Skip to content

踩坑记之int64与json #19

Open
Open

Description

@snxq

问题

golang 使用 uint64 字段类型,使用 json 序列化后却变成了 string。

根源

原来 json 整形的最大值为 2的53次方 减一,uint64 的最大值为 2 的 64次方减一,所以序列化后就改了类型变成 string。

解决

由于我们对 uint64 没有刚需,所以直接换了类型 uint32。也可以不用换,直接序列化后当作字符串处理。

PS. 至于说为什么 json 的整形最大值为 53 次方这么个数字,是因为 js 的 double 类型最多支持 53 位二进制。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions