java fastjson 使用 JSON.parse 后数据顺序发生了变化
按照接口要求创建了返回类,然后通过 @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
方法,并且增加第二个参数配置项,表示有序的字段。
测试问题解决了。