星空网 > 软件开发 > Java

Jackson如何使JSON输出变得优雅?

本篇文章翻译自:How to enable pretty print JSON output (Jackson)

在这篇文章中,我们将教你如何利用Jackson Library在控制台或者JSP页面优雅地输出JSON Object和JSON String。

 

1、优雅地输出JSON Object

下面是一个将Object利用Jackson转换为JSON String的例子。

User user = new User();ObjectMapper mapper = new ObjectMapper();System.out.println(mapper.writeValueAsString(user));

但是输出结果确实非常紧凑的,一点儿都不美观。

为了能使他优雅地打印,使用ObjectMapper类的writerWithDefaultPrettyPrinter()方法。

ObjectMapper mapper = new ObjectMapper();System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(user));

结果(是不是优雅多了):

{ "age" : 29, "messages" : [ "msg 1", "msg 2", "msg 3" ], "name" : "mkyong"}

 

2、优雅地输出JSON String

这有一点点的棘手,再次使用ObjectMapper类的writerWithDefaultPrettyPrinter()方法。

String test = "{\"age\":29,\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"],\"name\":\"mkyong\"}";System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(test));

上面代码运行后,我们发现他打印格式还是紧凑的,并不是我们想要的优雅类型。

"{\"age\":29,\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"],\"name\":\"mkyong\"}"

为了解决这问题,我们需要先将JSON String变成JSON Object,然后再利用 [1] 描述的方法,进行优雅地输出。

String test = "{\"age\":29,\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"],\"name\":\"mkyong\"}";Object json = mapper.readValue(test, Object.class);System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json));

输出结果:

{ "age" : 29, "messages" : [ "msg 1", "msg 2", "msg 3" ], "name" : "mkyong"}

 

3、在JSP页面优雅地输出JSON String

@Controller@RequestMapping("/anything")public class AdminController { @RequestMapping(method = RequestMethod.GET) public ModelAndView index() {  String test = "{\"age\":29,\"messages\":[\"msg 1\",\"msg 2\",\"msg 3\"],\"name\":\"mkyong\"}";  Object json = mapper.readValue(test, Object.class);      ModelAndView modelandView = new ModelAndView("viewname");  modelandView.addObject("output", mapper.writerWithDefaultPrettyPrinter().writeValueAsString(json));    return modelandViewl; }}

 

在JSP页面里面,使用: <pre>${output}</pre> 

Note: 本文使用writerWithDefaultPrettyPrinter(),老一套的defaultPrettyPrintingWriter()已经deprecated。

 




原标题:Jackson如何使JSON输出变得优雅?

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

亚马逊大卖火出圈!黑五前市盈率超400倍:https://www.kjdsnews.com/a/1670718.html
2023 跨 境 热 销 白 皮 书:https://www.kjdsnews.com/a/1670719.html
​韩国网红团购,大促爆单妙招请查收!:https://www.kjdsnews.com/a/1670720.html
搜域名,不如“搜关键词”!:https://www.kjdsnews.com/a/1670721.html
突发!大批亚马逊卖家信用卡失效,账户被锁该怎么办?:https://www.kjdsnews.com/a/1670722.html
《2023年全球美容用品消费洞察》:https://www.kjdsnews.com/a/1670723.html
健康成新热词!给你马来西亚GMV增长加速器 :https://www.goluckyvip.com/news/218216.html
健康成新热词!给你马来西亚GMV增长加速器 :https://www.xlkjsw.com/news/91226.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流