为什么Jackson用我的班级命名的额外图层包裹我的对象?


问题内容

当我序列化时

public class FOO {
int field1;
String field2;
}

我得到以下。

{"FOO":{"field1":0,"field2":"value"}}

你能指出我如何使输出看起来像这样吗

{"field1":0,"field2":"value"}

问题答案:

我已经知道如何做到这一点。实际的问题是MappingJacksonJsonView有一个地图,所以这就是它以这种方式返回的原因{"FOO":{"field1":0,"field2":"value"}}

但是如果我这样配置

<beans:bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
       <beans:property name="extractValueFromSingleKeyModel" value="true" />
</beans:bean>

它将序列化对象本身而不是整个映射。我希望它会帮助别人。