JsonDemo.java为主程序,其中序列化了Routers4Boot和Routers4BootConfig类,发现即使在类上面加上了JSONField注解,依旧顺序是乱的。
com.alibaba
fastjson
1.2.74
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文件。
2条答案
按热度按时间ltskdhd11#
我也遇到相同的问题,使用JSON.toJSON序列化后的顺序不对,用JSON.toJSONString序列化后的顺序才是对的。
这是我前几天提交的issue: https://github.com/alibaba/fastjson/issues/3662
wr98u20j2#
我遇到的是
JSONObejct.pares(String str)
转换为JSONObject后顺序不一致,也不清楚是什么情况。按理说反序列不是应该保持一致吗?Gson就能正常的转换..