我有一个有效的JSON字符串,我想整理/格式化它,使每个属性/值对都在自己的行上,等等(它目前在一行上,没有空格/换行符).

我正在使用ApacheSling JSONObject对我的JSON对象进行建模,并将其转换为字符串,因此如果Sling JSONObject可以设置为输出一个整洁的字符串(我认为它不能),那么它也可以工作.

如果我需要一个第三方库,我会 Select 一个依赖性尽可能少的库(比如Jackson,它只需要std JDK库).

推荐答案

你不需要外面的图书馆.

Use the built in pretty printer in Sling's JSONObject: http://sling.apache.org/apidocs/sling5/org/apache/sling/commons/json/JSONObject.html#toString(int)

public java.lang.String toString(Int IndentFactor) 引发JSONException

Make a prettyprinted JSON text of this JSONObject. Warning: This method assumes that the data structure is acyclical.

参数:

缩进因子-要添加到每个标高的空格数 压痕的位置.

返回:可打印、可显示、便携、 对象的可传递表示,以{(左 大括号),并以}(右大括号)结尾.

Throws: JSONException - If the object contains an invalid number.

Json相关问答推荐

使用相同的密钥值来命名Json并使用Jolt重命名密钥

在Jolt中将具有嵌套元素的对象数组转换为单独的对象列表

使用动态语言jQuery:根据匹配模式提取与其他值匹配的值

Groovy JsonBuilder 在for循环中添加数组元素

使用 jq 工具将文本从 txt 文件转换为 json

将=分隔值文件转换为:json文件

如何使用 serde_json 构建有状态的流式解析器?

在 JOLT 中重新排列值

当值包含ansible中的字符串时解析json值

JSON.NET 中特定对象的自定义转换

Flask 请求和 application/json 内容类型

反序列化大型 json 对象的 JsonMaxLength 异常

IE8 原生 JSON.parse 错误导致堆栈溢出

什么 Python 框架用于没有前端的 REST/JSON Web 服务?

在 JSON 编码的 HTML5 数据属性中转义/编码单引号

使用 GSON 解析嵌套的 JSON 数据

在 JSON.NET 中序列化派生类时的字段顺序

case 类只有一个字段时如何将json转为 case 类

JSON - 是否有任何 XML CDATA 类似功能?

为什么 jqXHR.responseText 返回字符串而不是 JSON 对象?