我正在使用JsonSerializer将Object转换为JSON String,但顺序错误。属性按字母顺序自动排序,但我希望它们按照它们在类中列出的顺序排列(例如“endPoint”不应出现在“startPoint”之前)。
当我打电话给JsonSerializer时。我只看到4种方法(toJava或toJson)。我尝试了包含订单,但它不起作用/我做得不对。我这样做的方式是这样的:
return new String[]{"errorDescription", "searchResultRecord.billOfLadingNumber",
"searchResultRecord.bookingNumber", "searchResultRecord.advancedManifest",
"searchResultRecord.inboundCustomsClearanceStatus", "searchResultRecord.cargoReleaseStatus", "searchResultRecord.freightChargeReleaseStatus",
"searchResultRecord.container.containerNumber", "searchResultRecord.container.latestEvent.event",
"searchResultRecord.container.latestEvent.location", "searchResultRecord.container.latestEvent.time"};
如您所见,包含了obj.obj.attr部分。但是当我尝试运行此代码时,我只在输出字符串中看到“errorDescription”。然后我尝试了没有属性的“searchResultRecord”,但它只显示了输出中的2个属性:x
知道如何修改订单以使其不按字母顺序排列吗?在线的所有示例似乎都是来自该类的旧版本,具有更易于访问的方法〜感谢任何信息。
答案 0 :(得分:2)
您可以尝试使用
@XmlType(propOrder={"startPoint", "endPoint"})
在您定义为@XmlRootElement
的课程上。这些属性和您想要的任何其他属性将按照您在propOrder
上的定义进行排序。