java - 在 spring 配置中设置 Object Mapper SerializationFeature

标签 java json spring spring-mvc jackson

我想将 Jackson (2.7.4) 配置为在 Spring (4.2.6) MVC Controller 中缩进输出( pretty-print )。

我的 Controller 具有 @ResponseBody,当然它会转换为 JSON。我正在使用 context.xml 文件。到目前为止我有这个:

    <mvc:annotation-driven>
    <mvc:message-converters register-defaults="true">
        <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
            <property name="objectMapper">
                <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                    <!---  WHAT GOES HERE -->
                </bean>
            </property>
        </bean>
    </mvc:message-converters>
</mvc:annotation-driven>

我想像这样设置 ObjectMapper 的configure(SerializationFeature f, boolean state):

configure(SerializationFeature.INDENT_OUTPUT, TRUE)

如何在 Spring 上下文中执行此操作?

最佳答案

您可以使用Jackson2ObjectMapperFactoryBean来配置ObjectMapper实例

示例

<property name="objectMapper">
    <bean class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean"
        p:failOnEmptyBeans="false"
        p:indentOutput="true">
        <!-- Other properties -->
    </bean>
</property>

关于java - 在 spring 配置中设置 Object Mapper SerializationFeature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37716353/

相关文章:

json - 如何从本地 JSON 更新标签和 UIImage 占位符?

javascript - 制作可变键和深度的嵌套对象的最佳方法是什么?

java - BCrypt:有没有办法在数据库中插入已经加密的密码?

java - 将图像从 Java 客户端发送到 Python 服务器时图像文件损坏

java - HashMap 中每个键的值相同

json - 如何预加载 JSON 数据以便在 Angularjs 模块准备好时可用

Java Spring 远程处理选项

java - 重试队列绑定(bind)到 RabbitMQ 交换

需要 UNIX 服务器上保存的 CSV 文件的 Java 前端

java - 如果您可以大幅改变 Java 的类路径库,您会做出哪些不同的决定?