I'm using and I need to pretty-print JSON data (make it more human readable).

我在该库中找不到此功能. 这通常是如何实现的?

推荐答案

谷歌的GSON强可以很好地做到这一点:

Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(uglyJsonString);
String prettyJsonString = gson.toJson(je);

或者,由于现在建议使用JsonParser中的静态解析方法,您也可以使用以下方法:

Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonElement je = JsonParser.parseString​(uglyJsonString);
String prettyJsonString = gson.toJson(je);

以下是导入语句:

import com.google.gson.*;

以下是Gradle依赖关系:

implementation 'com.google.code.gson:gson:2.8.7'

Java相关问答推荐

如何为具有多对多关系的实体的给定SQL查询构建JPA规范?

Character::Emoji不支持带数字的字符吗?

使用@MappdSuperClass扩展ParentClass&Won t继承ParentClass属性

计算两个浮点数之间的距离是否对称?

测试何时使用Mockito强制转换对象会导致ClassCastException

在向WebSphere中的文档添加元素时iText挂起

带有Health Check的Spring Boot BuildPack打破了本机映像构建过程

在VS代码中,如何启用Java Main函数的&Q;Run|DEBUG&Q;代码?

解析方法";javax/imageio/metadata/IIOMetadata.getAsTree(Ljava/lang/String;)Lorg/w3c/dom/Node时加载约束冲突

在Spring Boot应用程序中,server.port=0的默认端口范围是多少?

X=x*0.90;产生有损转换误差.X*=0.90;不是.为什么?

如何在EL处理器中定义带有命名空间的变量?

使用MediaPlayer类在一段时间后停止播放音乐

为什么创建Java动态代理需要接口参数

JPA无手术同品种器械可能吗?

无法在IntStream上应用Collectors.groupingBy

无限递归Java问题

如何在特定关键字后提取与模式匹配的多个值?

如何在JSP中从select中获取值并将其放入另一个select

如何以事务方式向ibmmq发送消息