JSON中的嵌套集合根元素 - 杰克逊

时间:2015-11-30 17:27:51

标签: java json jackson

我正在尝试使用Jackson 1.9和jackson库的mixin功能在对象中实现JSON。一般来说它对我来说很好,但是现在我有一个JSON,它有一个嵌套的根元素。

我使用以下表达式 -

  

mapper.configure(DeserializationConfig.Feature.UNWRAP_ROOT_VALUE,true);

我的班级结构就像

class Animal
   List<Horse> getRacingAnimals();
   private String color;

class Horse
   horse properties...

这是JSON示例 -

  

{“myanimal”:{“color”:“black”,“racingAnimals”:{“horse”:[“马匹列表”]}}​​}

现在我使用mixin来映射自定义属性和根名称

@JsonRootName("myAnimal")
public abstract class ConfigurationMixin {

@JsonProperty("racingAnimals") abstract List<Horse> getRacingAnimals(); }

现在如果你看看上面的JSON除了“myAnimal”根元素之外还有另一个根元素叫做“horse”,我应该如何在mixin中指定另一个根元素,还是需要准备另一个mixin for它,如果是,那将是怎样的。

目前我有

  

mapper.getDeserializationConfig()。addMixInAnnotations(Animal.class,ConfigurationMixin.class);

我不确定新mixin的语法,因为属性racingAnimals是根元素“Horse”的父节点,我不能在实际源代码上使用@JSONRootElement等注释,因为我没有访问权限到源代码。

0 个答案:

没有答案