我指的是这篇帖子:convert json to object using jackson,以及StaxMan的最后一个答案,它说Jackson 1.7可以设置配置,以便杰克逊开始制作(也可能解析?)top- JSON中的级别标记/段。
有人可以阐明如何设置该配置,它也只适用于JSON生成或解析吗?
非常感谢!
答案 0 :(得分:4)
您需要使用ObjectMapper
功能创建和配置WRAP_ROOT_VALUE
,例如
ObjectMapper objectMapper = new ObjectMapper();
objectMapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
请参阅javadoc:
可以启用以在单个属性JSON对象中包含的根值(通常是JSON对象但可以是任何类型)的功能,其中key作为“根名称”,由注释introspector确定(尤其是对于JAXB而言)使用
@XmlRootElement.name
)或后备(非限定类名)。功能主要用于JAXB兼容性。默认设置为false,表示未包装根值。
javadoc还说它尚未实现,但我可以看到它在Jackson源码中使用,所以它可能正常工作。不过,我自己并没有尝试过。