Open angelyouyou opened 3 years ago
我也遇到相同的问题,使用JSON.toJSON序列化后的顺序不对,用JSON.toJSONString序列化后的顺序才是对的。 这是我前几天提交的issue: https://github.com/alibaba/fastjson/issues/3662
我遇到的是JSONObejct.pares(String str)
转换为JSONObject后顺序不一致,也不清楚是什么情况。按理说反序列不是应该保持一致吗?Gson就能正常的转换..
JsonDemo.java为主程序,其中序列化了Routers4Boot和Routers4BootConfig类,发现即使在类上面加上了JSONField注解,依旧顺序是乱的。
testWriteJsonRouter()为序列化的函数。
对象: @Data @Getter @Setter public class Routers4Boot { @JSONField(ordinal = 1) private String routerDescr; @JSONField(ordinal = 2) private String flowIp; @JSONField(ordinal = 3) private String flowPort; @JSONField(ordinal = 4) private String flowSampleRate; } 序列化后: { "flowIp":"1.1.1.1", "routerDescr":"router1", "flowPort":"9999", "flowSampleRate":"5000" } Routers4BootConfig类也类似,附件中有源程序和序列化后的json文件。
json.zip