如何防止杰克逊输出漂亮的打印JSON?

tam*_*ren 7 java json jackson

我想确保杰克逊生成的JSON文件永远不会打印出来.我是一名从事预先存在的项目的初级人员,因此我需要向后工作以找出JSON可以配置为输出的所有方式.我可以确认在项目中有0个引用.defaultPrettyPrintingWriter(),以及0个引用.setSerializationConfig,我相信它也可以用来启用漂亮的打印.

那怎么可能呢?或者,是否有一种可靠的方法来确保JSON文件不是很好的打印?

Ale*_*lex 2

根据您使用的 Spring 版本,MappingJacksonHttpMessageConverte\xe2\x80\x8c\xe2\x80\x8br应该有一个名为的布尔属性prettyPrint,用于在序列化 JSON 时配置打印机。

\n\n

所以这个 XML 配置应该可以解决问题(如果您使用的是 Spring 3 的最新版本)

\n\n
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAda\xe2\x80\x8c\xe2\x80\x8bpter">\n  <property name="messageConverters">\n    <list>\n      <ref bean="jsonConverter" />\n    </list>\n  </property>\n</bean>\n\n<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverte\xe2\x80\x8c\xe2\x80\x8br">\n  <property name="supportedMediaTypes" value="application/json" />\n  <property name="objectMapper" ref="jacksonObjectMapper" />\n  <property name="prettyPrint" value="false" />\n</bean>\n
Run Code Online (Sandbox Code Playgroud)\n\n

你可以在github上看到介绍该属性的相关commit。该类的主干版本也包含此属性。最后,这是与先前提交相关的Spring Jira 问题SPR-7201 。

\n\n

或者您可以尝试将您的 Jackson 版本更新到更新的版本,其中包括Alexander Ryzhov 提到的方法useDefaultPrettyPrinter和方法setPrettyPrinter

\n