【问题标题】:JsonSerializer field order (don't want alphabetical) - JavaJsonSerializer 字段顺序(不要按字母顺序) - Java
【发布时间】:2012-07-27 02:31:33
【问题描述】:

我正在使用 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

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

【问题讨论】:

    标签: field alphabetical jsonserializer


    【解决方案1】:

    你可以试试

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-08
      • 2010-12-22
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      • 2020-11-26
      • 2020-09-23
      • 1970-01-01
      相关资源
      最近更新 更多