2012-07-27 196 views
0

我正在使用JsonSerializer將對象轉換爲JSON字符串,但順序錯誤。屬性按字母順序自動排序,但我希望它們按照它們在類中列出的順序排列(例如,「endPoint」不應出現在「startPoint」之前)。JsonSerializer字段順序(不想按字母順序排列) - Java

當我打電話給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

任何想法如何修復順序,使其不按字母順序?所有在線示例似乎都來自該類的較舊版本,並提供更方便的方法〜感謝您的任何信息。

回答

2

您可以嘗試在你定義爲@XmlRootElement類使用

@XmlType(propOrder={"startPoint", "endPoint"}) 

。這些屬性和任何其他你想要的將按照你在propOrder上定義的排序。