我想确保杰克逊生成的JSON文件永远不会打印出来.我是一名从事预先存在的项目的初级人员,因此我需要向后工作以找出JSON可以配置为输出的所有方式.我可以确认在项目中有0个引用.defaultPrettyPrintingWriter(),以及0个引用.setSerializationConfig,我相信它也可以用来启用漂亮的打印.
那怎么可能呢?或者,是否有一种可靠的方法来确保JSON文件不是很好的打印?
根据您使用的 Spring 版本,MappingJacksonHttpMessageConverte\xe2\x80\x8c\xe2\x80\x8br应该有一个名为的布尔属性prettyPrint,用于在序列化 JSON 时配置打印机。
所以这个 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>\nRun Code Online (Sandbox Code Playgroud)\n\n你可以在github上看到介绍该属性的相关commit。该类的主干版本也包含此属性。最后,这是与先前提交相关的Spring Jira 问题SPR-7201 。
\n\n或者您可以尝试将您的 Jackson 版本更新到更新的版本,其中包括Alexander Ryzhov 提到的方法useDefaultPrettyPrinter和方法setPrettyPrinter