java - jackson :属性(property)秩序与继承

标签 java json jackson

在 Jackson 的序列化过程中更改子类中的属性顺序的最佳实践是什么?

假设以下简化场景:

@JsonPropertyOrder({ "p1", "p2" })
class animal {
    int p1;
    int p2;
}

@JsonPropertyOrder({ "p3", "p1", "p2" })
class cat extends animal{
    int p3;
}

这可能吗?子类 @JsonPropertyOrder 是否会覆盖父类定义?或者我可以在partent注释中添加“p3”以节省冗余吗? Jackson 文档关于这个主题的内容非常简短。

最佳答案

@JsonPropertyOrder 可用于给出输出 json 中预期数据详细信息的特定顺序,因此可以使用此注释更改顺序。

@JsonPropertyOrder 是一个可以在类级别使用的注释。它将属性视为 list of fields - these fields can be either in the parent class or in the child class它定义字段在对象 JSON 序列化产生的字符串中出现的顺序。

引用:

Jackson JSON using @JsonPropertyOrder annotation to define properties serialization order

关于java - jackson :属性(property)秩序与继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49688852/

相关文章:

java - Android 中的自定义编程语言(jar)

java - 从 html 转换为 pdf 和图像 java

objective-c - 反序列化JSON后如何区分 bool 值和整数?

python - 如何加载 Django JSON 以避免与自然键冲突

java - Jackon反序列化: how to reference another property?

java - 如何将@JsonIdentityInfo 与循环引用一起使用?

JAVA 程序显示 HTML 页面。 html 中的 JavaScript 不起作用

java - 在字符串中按字母顺序对字符进行排序

c# - 如何从 JsonConvert.DeserializeObject 返回 NULL

java - 基于HTTP方法自定义Spring MVC requestBody映射?