java fastjson 使用 JSON.parse 后数据顺序发生了变化

2023-02-10T18:03:00

按照接口要求创建了返回类,然后通过 @RestController 直接输出 JSON 格式数据。

要求返回类中每一个属性都要按照对方文档里指定的顺序返回,在类中调整了各个属性顺序,返回顺序一致了。

之后要从另外一个服务中拿数据再返回:

ResponseEntity<String> responseEntity = restTemplate.exchange(url, httpMethod, HttpEntity, ..)
Resp result = JSON.parse(responseEntity.getBody());

一开始直接返回 result,没有自动显示成 JSON 格式,所以增加了一个解析步骤。

但返回发现,数据项的顺序发生了变化。

之后百度到一个解决方法:

responseCode = JSON.parseObject(responseEntity.getBody(), Feature.OrderedField);

就是调用 JSON 的另外一个 parseObject 方法,并且增加第二个参数配置项,表示有序的字段。

测试问题解决了。

当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »