Java Springboot,RestTemplate结果编号编码

Java Springboot,RestTemplate结果编号编码,java,spring-boot,resttemplate,rfc,Java,Spring Boot,Resttemplate,Rfc,我有一个从OracleDB读取的api。如果我直接调用它,它将返回: { ... ... numericField: 910010000346422907 ... otherNumericField: 2018020800 ... } 但是如果我通过springboot java服务器使用 URI targetUrl= UriComponentsBuilder.fromUriString(url) .queryParams(queryParameters)

我有一个从OracleDB读取的api。如果我直接调用它,它将返回:

{
 ...
 ...
 numericField: 910010000346422907
 ...
 otherNumericField: 2018020800
 ...
}
但是如果我通过springboot java服务器使用

URI targetUrl= UriComponentsBuilder.fromUriString(url)
            .queryParams(queryParameters)
            .build()
            .encode()
            .toUri();

RestTemplate restTemplate = new RestTemplate();
String result = restTemplate.getForObject(targetUrl, String.class);
结果字符串中的值如下所示

numericFiled: 9.1001000034642291E17 .... otherNumericField: 2.0180208E9

api返回内容类型
application/json;字符集=UTF-8
。如何正确读取数值?

您必须创建一个包含所有属性的POJO类,类似这样的,您可以使用lombok通过注释为您创建
getter
setter

getForObject
调用中,只需传递
类型

ResponseData result = restTemplate.getForObject(targetUrl, ResponseData.class);

如果您不知道JSON模式,则使用
映射映射
,但始终建议对模型进行解析,您也可以忽略不需要的字段,也不知道将对象转换为字符串的原因?它必须类似于restemplate.getForObject(targetUrl,YourObj.class);我想解析json,但不知道它是如何生成的,我没有任何YourObj.classe。如果我在对象模式之前不知道,但我肯定能找到这些数字字段呢?请查看我在answer@tommasoballardini中更新的注释。如果你显示json响应和
ResponseData
@tommasoballardini
ResponseData result = restTemplate.getForObject(targetUrl, ResponseData.class);