gpt4 book ai didi

json - 我可以从注释或 Spring MVC Controller 配置 Jackson JSON pretty-print 吗?

转载 作者:行者123 更新时间:2023-12-05 00:47:38 26 4
gpt4 key购买 nike

我在 Spring MVC 应用程序中使用 Jackson 1.9.6 (codehaus) 对我的响应主体进行 JSON 序列化,但我无法找到配置 pretty-print 的方法。我能够找到的所有代码示例(如 thisthis)都涉及使用 ObjectMapperObjectWriter 的实例化,但我不目前没有将这些实例化用于其他用途。我什至不知道把这段代码放在哪里。我所有的 Jackson 配置都通过注释被序列化为 JSON 的 POJO 来处理。

有没有办法在注释中指定 pretty-print ?我认为他们会把它放在@JsonSerialize 中,但它看起来不像。

我要序列化的类如下所示:

@JsonAutoDetect
@JsonSerialize(include=JsonSerialize.Inclusion.NON_NULL)
public class JSONObject implements Serializable{...}

我的 Spring Controller 方法如下所示:

@RequestMapping(method = RequestMethod.GET)
public @ResponseBody List<Object> getMessagesAndUpdates(HttpServletRequest request, HttpServletResponse response) {
JSONObject jsonResponse = new JSONObject();
.
.
.
//this will generate a non-pretty-printed json response. I want it to be pretty-printed.
return jsonResponse;
}

最佳答案

我搜索并搜索了类似的东西,我能找到的最接近的是将这个 bean 添加到我的应用程序上下文配置中(注意:我使用的是 Spring Boot,所以我不能 100% 确定这会在非Spring Boot 应用程序):

@Bean
public Jackson2ObjectMapperBuilder jacksonBuilder()
{
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
builder.indentOutput(true);
return builder;
}

在我看来,它是最干净的可用解决方案并且运行良好。

关于json - 我可以从注释或 Spring MVC Controller 配置 Jackson JSON pretty-print 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14878890/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com