我使用下面的代码将我的Java对象转换为JSON:
city_name
返回Spring Controller RequestMapping,注释如下
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new SnapshotModule()).setTimeZone(timeZone)
.enable(SerializationFeature.INDENT_OUTPUT)
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
.disable(DeserializationFeature.ADJUST_DATES_TO_CONTEXT_TIME_ZONE)
.enable(JsonGenerator.Feature.WRITE_NUMBERS_AS_STRINGS)
.enable(MapperFeature.SORT_PROPERTIES_ALPHABETICALLY);
String respJson = mapper .writerWithDefaultPrettyPrinter().writeValueAsString(obj)
当我在logger中打印此响应时,我可以看到wellprint JSON格式以及缩进。 但是,当我在浏览器中点击Rest URL时,看到响应是用\ r \ n字符而不是带有缩进的实际新行 -
@RequestMapping(value = "/{xxx}/{xxx}/{xxx}/", method = RequestMethod.GET, produces = "application/json")
@ResponseBody
有人可以帮我解决我的做法有什么问题。我甚至尝试使用gson库,结果是一样的。 请注意,因为我试图转换为json的对象是动态的,所以没有选择在pojo上使用注释。
答案 0 :(得分:0)
[解决方案] -
我可以找到一个解决方案,这看起来很奇怪,但它已经成功了。
我修改了Spring RequestMapping,如下所示:
@RequestMapping(value = "/{xxx}/{xxx}/{xxx}/", method = RequestMethod.GET, produces = "text/plain")
所以现在它就像我的回复是JSON的纯文本表示。
当我使用Spring Web / MVC时,我曾尝试使用application / json。但不知何故,似乎application / json不能用于Spring Boot。
答案 1 :(得分:-1)
如果您只是希望json在浏览器中打印漂亮,那么有很多插件可以帮助您。 https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc?hl=en