簡體   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