【发布时间】:2013-07-21 19:45:42
【问题描述】:
我使用json-simple 并希望有漂亮的打印用于调试目的。
这是一个非常相关的 SO 问题:Pretty-Print JSON in Java
但是,给定线程中的答案不仅修复了缩进,还使用键的字符串顺序将项目的顺序更改为 [a ... z]。
有什么方法可以在不改变 JSONObject 中项目顺序的情况下修复缩进?
例子:
JSONObject myJSon = new JSONObject();
myJSon.put("zzz", 1);
myJSon.put("aaa", 1);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
System.out.println( gson.toJson(myJSon) );
输出:
{
"aaa": 1,
"zzz": 1
}
期望的输出:
{
"zzz": 1,
"aaa": 1
}
编辑:我正在使用:org.json.simple.JSONObject
【问题讨论】:
-
@carl-lopez Jackson 和 Gson 有什么关系?
-
可以换成你想的那样
-
致 OP:您不能不修改 Gson 的源代码(或编写自己的打印代码)。这是“漂亮印刷”的一部分。
-
呃,您使用的是两个完全不同的 JSON 解析库;为什么?这甚至可以工作的唯一原因是因为
org.json.simple.JSONObject扩展了HashMap。 (好眼光@MichałZiober - 我错过了)。