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

时间:2011-06-25 18:23:02

标签: java json spring-mvc jackson

我序列化时

public class FOO {
int field1;
String field2;
}

我得到了以下内容。

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

你能指出我如何让​​输出看起来像这样

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

1 个答案:

答案 0 :(得分: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>

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