繁体   English   中英

排序其键和值后,将 java 对象打印为 JSON 字符串

[英]Print a java object as JSON string after sorting its keys and values

我有一个带有多个键的 java 对象,值可以是数组列表。 我想将对象打印为 JSON 字符串,但输出应该对键和值进行排序。 在值的情况下,排序应该在数组本身(如果有)

例如,我有这个 JSON 表示的 POJO

{
"d": ["d","a", "r"],
"c": "arr",
"a": "2020-10-01:00:00"
}

预期的输出应该是这样的:

{"a": "2020-10-01:00:00", "c": "arr", "d": ["d","a", "r"]}

在输出中,键相对于彼此排序,但值数组在其自身内排序。

如果您只想根据键进行排序,请仅使用以下代码和 JSON 依赖项 ( https://mvnrepository.com/artifact/org.json/json/20140107)-

String[] arr = { "d", "a", "r" };

Map<String, Object> data = new TreeMap<>();
data.put("d", arr);
data.put("c", "arr");
data.put("a", "2020-10-01:00:00");

JSONObject sortedDate = new JSONObject(data);
System.out.println(sortedDate);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM