我正在使用.NET MVC4中包含的OData beta实现,我遇到了一个奇怪的问题:所有long
值都被序列化为JSON字符串,而不是像int
和{float
{1}} s,为常规数字。
由于Javascript should support Int64
值是否有办法仅为long
值添加自定义OData序列化方法?
答案 0 :(得分:2)
请注意,JSON表示它至少应该是64位双精度数 - 所以类似于C ++中的double。 double的问题在于它的存储方式并不意味着它可以代表64位整数的全部范围 - 这就是多长时间。简而言之,并非所有长有效值都可以写为JSON数字,而不会因JSON兼容解析器解析而导致精度损失。
正是出于这个原因,OData总是将长值写为字符串。