【发布时间】:2017-10-03 15:51:32
【问题描述】:
您好,我有一些这样包装的 JSON:
{
rootNode: [{
"property":"value"
}]
}
有没有办法将数组中的对象获取为:
@JsonRootName("rootNode")
public class ThisClass{
private String property;
}
如果没有数组,我可以只使用根节点表示法,还有其他注释来补偿包装数组吗?
【问题讨论】:
您好,我有一些这样包装的 JSON:
{
rootNode: [{
"property":"value"
}]
}
有没有办法将数组中的对象获取为:
@JsonRootName("rootNode")
public class ThisClass{
private String property;
}
如果没有数组,我可以只使用根节点表示法,还有其他注释来补偿包装数组吗?
【问题讨论】:
您可以通过在 jackson 中启用以下反序列化选项来解析此 JSON:
ObjectMapper mapper = new ObjectMapper();
mapper.enable(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS);
mapper.enable(DeserializationFeature.UNWRAP_ROOT_VALUE);
查看docs了解详情
【讨论】:
能够通过在 ObjectMapper 上设置一些选项来实现此功能
mapper
.configure(DeserializationFeature.UNWRAP_ROOT_VALUE, true),
.configure(DeserializationFeature.UNWARP_SINGLE_VALUE_ARRAYS);
【讨论】: