Jackson JSON:顶级段包含

Jackson JSON:顶级段包含,json,jackson,Json,Jackson,我指的是这篇文章:,也是StaxMan的最后一个回答,他说在Jackson 1.7中可以设置配置,这样Jackson就可以开始生成JSON中的顶级标记/段(也可能是解析) 有人能解释一下如何设置这个配置吗?它只用于JSON生成或解析 多谢各位 您需要使用WRAP\u ROOT\u VALUE功能创建和配置ObjectMapper,例如: ObjectMapper objectMapper = new ObjectMapper(); objectMapper.configure(Serializa

我指的是这篇文章:,也是StaxMan的最后一个回答,他说在Jackson 1.7中可以设置配置,这样Jackson就可以开始生成JSON中的顶级标记/段(也可能是解析)

有人能解释一下如何设置这个配置吗?它只用于JSON生成或解析


多谢各位

您需要使用
WRAP\u ROOT\u VALUE
功能创建和配置
ObjectMapper
,例如:

ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
见:

可以使根值(通常是JSON对象,但可以是任何类型)包装在单个属性JSON对象中的功能,其中键作为“根名称”,由注释内省器(特别是使用
@XmlRootElement.name
的JAXB)或回退(非限定类名)确定。该特性主要用于JAXB兼容性

默认设置为false,表示未包装根值


javadoc还说它还没有实现,但是我可以看到它在Jackson源代码中使用,所以它可能工作正常。不过我自己还没有试过。

谢谢,斯卡夫曼。我试过一个样品,效果很好。但是,反序列化配置功能上的相应设置似乎尚未实现。正确。如果你想看到它被添加,一定要添加一个Jira条目和/或投票给一个(我忘了是否存在)——有许多相互竞争的功能请求,虽然这应该很容易添加,但它不是要求最多的功能(AFAIK)FWIW,这个功能是为Jackson 1.9实现的,反序列化语法:objectMapper.configure(反序列化配置.Feature.UNWRAP_ROOT_值,true)