为什么杰克逊用一个以类命名的额外层来包裹我的对象?

moh*_*945 5 java json spring-mvc jackson

当我序列化

public class FOO {
int field1;
String field2;
}
Run Code Online (Sandbox Code Playgroud)

我得到了以下内容.

{"FOO":{"field1":0,"field2":"value"}}
Run Code Online (Sandbox Code Playgroud)

你能指点我怎么能让输出看起来像这样

{"field1":0,"field2":"value"}
Run Code Online (Sandbox Code Playgroud)

moh*_*945 12

我已经想出如何制作它.实际上问题是MappingJacksonJsonView有一个map这就是为什么它以这种方式返回它{"FOO":{"field1":0,"field2":"value"}}

但如果我这样配置它

<beans:bean class="org.springframework.web.servlet.view.json.MappingJacksonJsonView">
       <beans:property name="extractValueFromSingleKeyModel" value="true" />
</beans:bean>
Run Code Online (Sandbox Code Playgroud)

它将序列化对象本身而不是整个地图.我希望它会帮助别人.