gpt4 book ai didi

java - jax rs 数据转换

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:43 25 4
gpt4 key购买 nike

我必须从服务返回一个 DTO,如下所示:

ResponseDTO
{
Long id;
String name;
//getter and setter etc.
}

服务以 json 格式返回响应,我使用 org.codehaus.jackson.jaxrs.JacksonJsonProvider 进行转换,但在客户端,当我收到响应时,id 值会自动更改。

例如:- 从服务端,我将 id 的值设置为 Long.MAX_VALUE,但客户端 json 响应显示值“9223372036854776000”,这不是我从服务发送的值。

我在这里遗漏了什么吗?

最佳答案

问题是 Javascript 将所有 Number 处理为 64 位 IEEE 754 float 。这些无法准确表示 9223372036854775807(Long.MAX_VALUE 的值)。

这就是 Feature.WRITE_NUMBERS_AS_STRINGS 的原因存在。您需要启用此功能才能接收实际号码。请注意,将其转换为 Number 仍会得到 9223372036854776000(向上舍入)。请参阅this answer了解 Javascript 中舍入的工作原理。

关于java - jax rs 数据转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26145459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com