0

我正在使用 JsonSerializer 将对象转换为 JSON 字符串,但顺序错误。属性会自动按字母顺序排序,但我希望它们按照它们在类中列出的顺序(例如“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

知道如何修复订单,使其不按字母顺序排列吗?所有在线示例似乎都来自具有更易于访问的方法的旧版本的课程~感谢您提供任何信息。

4

1 回答 1

2

您可以尝试使用

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

在您定义为的类上@XmlRootElement。这些属性和您想要的任何其他属性都将按照您在 上的定义进行排序propOrder

于 2012-09-18T16:39:21.597 回答