我们来看这个例子。我有一个pojo课程如下。
$ php test.php | pbcopy
$ pbpaste | someotherprogram
当我得到toJson(新的MyRecord(“MyName”,“myId”)输出时,我可以得到。
public class MyRecord{
private String name;
private String id;
//constructors and getters,setters
}
我继承了以下一项来添加dateTime。
{
"name": "MyName",
"id": "123"
}
所以当我打电话给Json时(新的MyRecordWithDateTime(“2016-01-01”,“MyName”,“myId”))
输出就是这个
public class MyRecordWithDateTime extends MyRecord{
private String DateTime;
//constructors and getters,setters
}
但实际上我需要如下。 (dateTime应该先到。)
{
"name": "MyName",
"id": "123",
"dateTime": "2016-01-01"
}
无论如何都要保持继承吗?
答案 0 :(得分:1)
在将它放入JSON文件之前,您可以尝试创建一个有序的List(LinkedList,ArrayList或类似的东西),然后根据需要对其进行排序,然后将其置于JSON中。
但显然,存在比我更好的想法!!
但事实是:JSON不需要排序!您只需使用getter,它就会找到与键相关的值!即使它处于最后位置。
答案 1 :(得分:1)
JSON集合中的字段/成员/属性没有订单,就这个JSON数据结构而言," order"无所谓。
我能想象您关注订单的唯一原因是打印/演示目的。在这种情况下,我建议您自己手动构建JSON字符串。
答案 2 :(得分:1)
也许有点晚了,但以防万一有这个注释@JsonPropertyOrder