杰克逊:为json字段名称映射生成属性

时间:2016-05-17 18:00:31

标签: java json jackson

我有一个要求,我需要打印/生成属性到相应字段的完整映射。为了使自己清楚,我发布了示例代码的片段以及我期望的输出。

public class A{
   @JsonProperty("aJsonField")
   private String a;
   @JsonProperty("bJsonField")
   private String b;
   @JsonProperty("cJsonField")
   private String c;
   @JsonProperty("dJsonField")
   private D d;
   @JsonProperty("fJsonField")
   private List<Integer> f;
   @JsonProperty("gJsonField")
   private List<G> g;
 // Corresponding getters and setters follow (Not shown)... 
}

public class D{
   @JsonProperty("eJsonField")
   private String e;
}

public class G{
   @JsonProperty("kJsonField")
   private String k;
}

输出:在A类上运行时,这应该是输出:

a -> aJsonField
b -> bJsonField
c -> cJsonField
d.e -> dJsonField.eJsonField
f -> fJsonField
g.k -> gJsonField.kJsonField

然而,当在类d上运行时,这应该是输出:

e -> eJsonField

我在杰克逊找不到任何目前满足我要求的方法。请注意,如果有一种方法可以反向打印映射(例如cJsonField -> cdJsonField.eJsonField -> d.e等),我可以忍受它。我正在使用Jackson v.2.6。

我倾注了这个链接Jackson: generate schemas with references,但这并不符合我的要求。

谢谢,

阿努邦

0 个答案:

没有答案