【问题标题】:Jackson unwrap object in array杰克逊在数组中展开对象
【发布时间】:2017-10-03 15:51:32
【问题描述】:

您好,我有一些这样包装的 JSON:

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

有没有办法将数组中的对象获取为:

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

如果没有数组,我可以只使用根节点表示法,还有其他注释来补偿包装数组吗?

【问题讨论】:

    标签: java arrays json jackson


    【解决方案1】:

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

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

    查看docs了解详情

    【讨论】:

      【解决方案2】:

      能够通过在 ObjectMapper 上设置一些选项来实现此功能

      mapper
      .configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true),
      .configure(DeserializationFeature.UNWARP_SINGLE_VALUE_ARRAYS);
      

      【讨论】:

        猜你喜欢
        • 2013-10-05
        • 2017-08-04
        • 2018-06-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-22
        • 1970-01-01
        • 2013-05-11
        相关资源
        最近更新 更多