如何使Jackson的build()方法漂亮地打印其JSON输出?这是一个漂亮地打印丑陋形式的JSON代码的示例。我需要采用漂亮的JSON代码版本,然后将其简化为丑陋的FOM。如何做呢?我需要将其转换为:
{ "one" : "AAA", "two" : [ "BBB", "CCC" ], "three" : { "four" : "DDD", "five" : [ "EEE", "FFF" ] } }
对此:
{"one":"AAA","two":["BBB","CCC"],"three":{"four":"DDD","five":["EEE","FFF"]}}
我试图删除’\ n’,’\ t’和’‘字符;但是值中可能包含某些字符,所以我不能这样做。还有什么可以做的?
Jackson允许您从JSON字符串读取,因此将漂亮打印的字符串读回到Jackson中,然后在禁用漂亮打印的情况下再次输出。
简单的例子
String prettyJsonString = "{ \"Hello\" : \"world\"}"; ObjectMapper objectMapper = new ObjectMapper(); JsonNode jsonNode = objectMapper.readValue(prettyJsonString, JsonNode.class); System.out.println(jsonNode.toString());
需要
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.5.3</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.3</version> </dependency>