Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据... ...

soゝso 2017-09-05 14:03:51 61539

一下用了这么多形容词,就是怕你们找不到。Jackson 美化输出JSON,优雅的输出JSON数据,格式化输出JSON数据

其实本站的第一个工具,也就是首页的,就是JSON格式化输出,但是增加了校验功能,以及中文提示问题所在。比如如下  JSON  少了一个“,”。

好了,介绍完毕,开始走代码吧。

Jackson 格式化输出JSON 代码说明(对象)

我们一般输出就是普通的toString 输出。如下代码:

Demo demo = new Demo("sojson",4,"https://www.sojson.com");
ObjectMapper mapper = new ObjectMapper();
System.out.println(mapper.writeValueAsString(demo));

输出结果:

{"name":"sojson","age":4,"domain":"https://www.sojson.com"}

非常不利于肉眼观看,而且一大坨,如果是JSON很大的话,那么更难受。那么我们美化输出呢?

美化/优雅/格式化输出,代码如下:

public static void main(String[] args) throws JsonProcessingException {
    Demo demo = new Demo("sojson",4,"https://www.sojson.com");
    ObjectMapper mapper = new ObjectMapper();
    //普通输出
    System.out.println(mapper.writeValueAsString(demo));
    //格式化/美化/优雅的输出
    System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(demo));
}

输出结果:

{
  "name" : "sojson",
  "age" : 4,
  "domain" : "https://www.sojson.com"
}

是不是结果很nice?下面再看下字符串输出。

Jackson 格式化输出JSON 代码说明(字符)

其实这里就是把字符串转成对象(Object ),然后再输出的。

优雅输出 Java代码:

public static void main(String[] args) throws IOException {
   //已知一个json 字符串
    String json = "{\"name\":\"sojson\",\"age\":4,\"domain\":\"https://www.sojson.com\"}";
    //求优雅输出
    ObjectMapper mapper = new ObjectMapper();
    Object obj = mapper.readValue(json, Object.class);
    System.out.println(mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj));
}

输出结果:

{
  "name" : "sojson",
  "age" : 4,
  "domain" : "https://www.sojson.com"
}

这里有的同学是不是想到,如果直接用上面的方法(writerWithDefaultPrettyPrinter() )呢,因为参数类型是Object ,其实我看了源码,Object 是为了你方便传参为各种你的对象。如果你传的String ,那么直接出来String 了。也就是还是输出原来的方式。当然你也可以试试。

Jackson Maven引入:

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.7.4</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.7.4</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.7.4</version>
</dependency>

测试类请在附件中下载。

版权所属:SO JSON在线解析

原文地址:https://www.sojson.com/blog/245.html

转载时必须以链接形式注明原始出处及本声明。


附件下载:

备注:点击文件名下载,附件源来自云端,只能在本站下载。复制下载链接无效。

本文主题:

如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。

关于作者
一个低调而闷骚的男人。
相关文章
Jackson 转换JSON,SpringMVC ajax 输出,当值为null或者空不输出字段@JsonInclude
JSON数据格式JSON格式化介绍,JSON格式介绍。
Java 文字转图片输出,Java 输出透明背景图片,Java文字转图片防爬虫
液厂JSON数据-来自云端数据
JSOUP 教程,JSOUP请求JSON ,JSOUP返回JSON 数据
Java tojson,Java中json-lib的各种数据转换,及对象转换
JSON格式讲解,JSON获取对象,JSONObject和JSONArray的操作
谈谈这次对 SOJSON 的改版
为什么很多第三方接口,都改成了基于http,直接传递json数据的方式来代替webservice?
GZIP压缩JSONJSON压缩
最新文章
使用七牛云存储实现图片API,自动删除图片方案合集 391
神速ICP备案经验分享,ICP备案居然一天就通过了 1625
百度加强推送URL链接,百度SEO强行推送链接JavaScript代码案例讲解。 2648
SOJSON 拓展服务器被DDos攻击了一晚上,是如何解决的? 2877
湖南地区备案“新增网站需提交组网方案或解释说明”,关于备案做简单叙述 2819
企查查你是个什么企业,骗子的帮凶,诈骗的集中营,通过企查查骚扰企业电话不断,为所欲为的企查查 8850
Java爬取百度云观测对网站的检测数据,获取子域名及域名的安全信息 2362
【2020年】百度搜索词获取,获取百度搜索的关键词【真实有效】 6254
Nodejs环境安装,Nodejs环境安装一篇就够了 1609
iOS版淘宝打开提示“您使用的程序是内测版本,将于2020-03-28到期,到期将无法使用,请尽快下载最新版本” 2411
最热文章
苹果电脑Mac怎么恢复出厂系统?苹果系统怎么重装系统? 423096
我为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比 413991
免费天气API,全国天气 JSON API接口,可以获取五天的天气预报 346945
最新MyEclipse8.5注册码,有效期到2020年 (已经更新) 298665
免费天气API,天气JSON API,不限次数获取十五天的天气预报 278422
Elasticsearch教程(四) elasticsearch head 插件安装和使用 216165
Jackson 时间格式化,时间注解 @JsonFormat 用法、时差问题说明 167738
谈谈斐讯路由器劫持,你用斐讯路由器,你需要知道的事情 133753
Elasticsearch教程(一),全程直播(小白级别) 117014
Elasticsearch教程(五) elasticsearch Mapping的创建 97445

骚码加入我们 / 千人QQ群:259217951

入群需要5元为的是没有垃圾广告,如果没有QQ钱包,可以加群主拉进。

二维码生成 来自 >> 二维码生成器

支付扫码

所有赞助/开支都讲公开明细,用于网站维护:赞助名单查看

查看我的收藏

正在加载... ...