【问题标题】:How to retain the JSON response order as defined in POJO [duplicate]如何保留 POJO 中定义的 JSON 响应顺序 [重复]
【发布时间】:2019-10-19 10:08:10
【问题描述】:

我有一个 POJO 类 A,我希望字段按照我定义的顺序排列,但“1800number”出现在响应的最后,因为它以数字开头。我该如何避免呢?

 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class A {
    private String name;
    private String age;
    private String dept;
    @JsonProperty("1800number")
    private String _1800number;
    private String email;
 } 

这就是我得到响应的方式

{
  "name": "Mark",
  "age": "52",
  "dept": "Civil",
  "email": "mark@gmail",
  "1800number": "12345"
}

我在我的 gradle 中使用以下库

 compile('com.fasterxml.jackson.core:jackson-annotations:2.8.3')
 compile('com.fasterxml.jackson.core:jackson-databind:2.8.3')

【问题讨论】:

  • 您使用的是什么类型的库?你是如何创建json的?另外,不要忘记为该库添加标签。否则专家不会找到你的问题。现在,只要缺少这些东西,问题就不清楚了。
  • Zabuza,用图书馆更新了上面的帖子

标签: java json jackson


【解决方案1】:

使用@JsonPropertyOrder注解:

@JsonPropertyOrder({ "name", "age", "dept", "1800number", "email" })
public class A {
    private String name;
    private String age;
    private String dept;
    @JsonProperty("1800number")
    private String _1800number;
    private String email;
 } 

【讨论】:

  • 这很好用,谢谢 michalk
猜你喜欢
  • 2018-07-24
  • 2017-09-04
  • 2019-11-28
  • 1970-01-01
  • 2017-03-17
  • 1970-01-01
  • 2016-12-28
  • 1970-01-01
  • 2022-12-04
相关资源
最近更新 更多