我需要将我的json对象包装成如下所示:
{
"user" : { "id":1 }
}
而不是
{
"id":1
}
所以我设置:
mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
序列化部分工作正常:
mapper.writeValue(writer, user);
但如果我这样做:
User u = mapper.readValue(writer.toString(), User.class);
返回的对象仅包含空字段。我是否需要为阅读包装元素配置其他内容?
此致
答案 0 :(得分:2)
我认为您正在寻找与SerializationConfig.Feature.WRAP_ROOT_VALUE
对应的反序列化配置。它是DeserializationConfig.Feature.UNWRAP_ROOT_VALUE
。 (使用Jackson 2+,它是DeserializationFeature.UNWRAP_ROOT_VALUE
。)