我有一个紧凑的JSON字符串,我想在Java中很好地格式化它,而不必先将它反序列化 - 例如就像jsonlint.org那样.有没有提供这个的图书馆?
类似的XML解决方案也很不错.
JsonParser为 Spring Boot 应用程序获取已弃用的消息,
JsonObject jsonObject = new JsonParser().parse(result).getAsJsonObject();
Run Code Online (Sandbox Code Playgroud)
什么是替代方案?
我使用json-simple并希望有漂亮的打印用于调试目的.
这是一个非常相关的SO问题:Java中的Pretty-Print JSON
然而,给定线程中的答案不仅修复了缩进,而且还使用键的字符串顺序将项的顺序更改为[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) );
Run Code Online (Sandbox Code Playgroud)
输出:
{
"aaa": 1,
"zzz": 1
}
Run Code Online (Sandbox Code Playgroud)
期望的输出:
{
"zzz": 1,
"aaa": 1
}
Run Code Online (Sandbox Code Playgroud)
编辑:我正在使用:org.json.simple.JSONObject
:
public class Employee implements Serializable {
private String lastName;
private String address;
private int id;
private String name;
}
Run Code Online (Sandbox Code Playgroud)
我想创建一个包含以下内容的 json 文件
[
{
"id":1,
"name": "John",
"lastName": "Doe",
"address": "NY City"
},
{
"id":2,
"name": "John",
"lastName": "Doe",
"address": "Canada"
},
{
"id":3,
"name": "John",
"lastName": "Doe",
"address": "Las Vegas"
},
] …Run Code Online (Sandbox Code Playgroud) gson ×3
java ×3
json ×3
formatting ×1
io ×1
jsonparser ×1
parsing ×1
pretty-print ×1
spring ×1
spring-boot ×1
writefile ×1