杰克逊在阵列中解开对象

时间:2017-05-05 08:39:15

标签: java arrays json jackson

嗨我有一些JSON包装如下:

{
  rootNode: [{
    "property":"value"
  }]
}

有没有办法让数组中的对象为:

@JsonRootName("rootNode")
public class ThisClass{
  private String property;
}

如果没有数组,我可以使用rootnode表示法是否有任何其他注释来补偿包装数组?

2 个答案:

答案 0 :(得分:3)

您可以通过在jackson中启用以下反序列化选项来解析此JSON:

ObjectMapper mapper = new ObjectMapper();
mapper.enable(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS);
mapper.enable(DeserializationFeature.UNWRAP_ROOT_VALUE);

查看docs了解详情

答案 1 :(得分:0)

能够通过在ObjectMapper

上设置一些选项来实现这一点
mapper
.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true),
.configure(DeserializationFeature.UNWARP_SINGLE_VALUE_ARRAYS);