如何访问JsonPropertyOrder

时间:2017-03-16 05:23:48

标签: java json jackson

我有一个定义了JsonPropertyOrder的POJO,在其他类中我需要检索该POJO的订单,我该怎么做呢?

示例POJO:

@JsonPropertyOrder({"field1", "field2", "field3"})
public class ReportRow extends Row {
  private String field1;
  private String field2;
  private String field3;
}

我可以尝试这样的事情:ReportRow.getJsonPropertyOrder()

2 个答案:

答案 0 :(得分:1)

您已走上正轨,您可以获取该课程的注释信息,然后访问该媒体资源:

JsonPropertyOrder jpo = ReportRow.class.getAnnotation(JsonPropertyOrder.class);
String[] propertyOrder = jpo.value();

在这种情况下,您可以在杰克逊JsonPropertyOrder.java来源中找到taget属性。

答案 1 :(得分:1)

添加到提供的答案,您可以通过杰克逊获得注释:

    ObjectMapper mapper = new ObjectMapper();
    JavaType type = mapper.getTypeFactory().constructType(ReportRow.class);
    BeanDescription desc = mapper.getSerializationConfig().introspect(type);
    JsonPropertyOrder jpo = desc.getClassAnnotations().get(JsonPropertyOrder.class);