【发布时间】:2012-08-26 14:03:09
【问题描述】:
我正在使用 jQuery.parseJSON() 获取一个 json 字符串并使其成为一个对象。 json 字符串由我们的服务器放置在带有初始标记的脚本标记中。 json 字符串包含引用我们网站上不同资源的值。
这个在开发中被忽略的问题的实现,现在开始抬头了。我们的服务器是基于java的。数值大部分表示为 Long。所以 json 字符串会有类似“...'id': 25783071737028608...”的内容。这是一个问题,因为这个值超过了 JS Number 类型的最大值 10 的两个整数幂。在这种情况下,数字会向上取整:25783071737028610,这会导致各种数据不一致问题。
这种类型的模式在我们的网站上无处不在,其值代表我们数据库中的值。我想避免对数据库进行大规模重构。我还想避免仅将内容作为字符串传递给浏览器(“...'id':”25783071737028608“...”,因为找到一个 long 传递给 javascript 的每个实例都需要对我们的数据库进行大规模重构。
有没有办法在 JavaScript 中表示 Java 长类型?如果没有(我相信是这种情况),是否有任何创造性的解决方法可以用来解决类似问题?
【问题讨论】:
标签: java javascript numbers long-integer truncation