当前位置: 首页 > 面试题库 >

Java的JSON字符串整洁/格式化程序

洪彬
2023-03-14
问题内容

我有一个有效的JSON字符串,我想对其进行整理/格式化,以使每个属性/值对在其自己的行上,依此类推(当前它在一行上,没有空格/换行符)。

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

如果我需要一个第三方库,我希望尽可能少地依赖一个库(例如Jackson仅需要std JDK库)。


问题答案:

您不需要外部库。

在Sling的JSONObject中使用内置的漂亮打印机:http
://sling.apache.org/apidocs/sling5/org/apache/sling/commons/json/JSONObject.html#toString(int

公共java.lang.String toString(int indentFactor)抛出JSONException

对此JSONObject进行漂亮打印的JSON文本。警告:此方法假定html" target="_blank">数据结构是非周期性的。

参数:

indentFactor-要添加到每个缩进级别的空格数。

返回:对象的可打印,可显示,可移植,可传输的表示形式,以{(左括号)开始,以}(右括号)结束。

抛出:JSONException-如果对象包含无效数字。



 类似资料:
  • 问题内容: 如何在GWT中格式化我的字符串? 我做了一个方法 但它抱怨说 不包括格式化程序吗? 问题答案: 更新:在进一步查看此答案之前,请先查看(并投票)约瑟夫·卢斯特的帖子。 看起来这篇文章没有包含格式化器。但是,他们提出了一些替代方案。

  • 主要内容:指定最小输出宽度,指定对齐方式,指定小数精度我们在《 第一个Python程序——在屏幕上输出文本》中讲到过 print() 函数的用法,这只是最简单最初级的形式,print() 还有很多高级的玩法,比如格式化输出,这就是本节要讲解的内容。 熟悉C语言 printf() 函数的读者能够轻而易举学会 Python print() 函数,它们是非常类似的。 print() 函数使用以 开头的转换说明符对各种类型的数据进行格式化输出,具体请看下表。

  • Parameter Position参数位置 Type参数类型 Required必需 Default默认 Description描述 1 string Yes n/a This is what format to use. (sprintf) 使用的格式化方式 This is a way to format strings, such as decimal numbers and such. Us

  • Go对字符串格式化提供了良好的支持。下面我们看些常用的字符串格式化的例子。 package main import "fmt" import "os" type point struct { x, y int } func main() { // Go提供了几种打印格式,用来格式化一般的Go值,例如 // 下面的%v打印了一个point结构体的对象的值 p := p

  • 3.5. 格式化字符串 Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式, 但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。 在 Python 中, 字符串格式化使用与 C 中 sprintf 函数一样的语法。 例 3.21. 字符串的格式化 >>> k = "uid" >>> v = "sa" >>> "%s=%s" % (k, v) 'uid=s

  • 由来 我一直对Slf4j的字符串格式化情有独钟,通过{}这种简单的占位符完成字符串的格式化。于是参考Slf4j的源码,便有了StrFormatter。 StrFormatter.format的快捷使用方式为StrUtil.format,推荐使用后者。 使用 //通常使用 String result1 = StrFormatter.format("this is {} for {}", "a", "