Spring MVC:是否可以使用Jackson返回Map <string,object =“”>动态转换为JSON?</string,>

时间:2012-04-23 16:00:06

标签: json spring-mvc jackson

我想让我的Spring MVC Web应用程序返回表示为JSON的模型状态。

我意识到通过@ResponseBody注释控制器方法,您可以在JSON和相应类型的对象之间进行转换。但是,我想要查看的模型对象直接对数据库说话而不维护任何状态。

因此我想知道我是否可以只填充地图(例如HashMap),并将其序列化为杰克逊?我意识到我可以为包含状态的模型创建新的View类,但我宁愿不必这样做。

感谢。

1 个答案:

答案 0 :(得分:4)

我从我的几个控制器返回Map<String, ?>,并且内容由Jackson自动转换为JSON - 正如您所说,当您还没有域对象时,这样做会更容易可以保存您希望返回的信息。

只要您在类路径中有jackson库并且弹簧配置中有<mvc:annotation-driven/>,就应该自动完成此操作。我用于杰克逊的maven依赖:

    <dependency>
        <groupId>org.codehaus.jackson</groupId>
        <artifactId>jackson-mapper-asl</artifactId>
        <version>1.8.5</version>
        <scope>runtime</scope>
    </dependency>