[英]Java JSONObject Distinct Key into List
嗨 StackOverflow 社區,
我有一種情況,我需要將 Java JSONObect 鍵區分為列表。 這樣我就可以在那之后做一個 if else 語句。 這是我的 JSON Object 的示例。
{
"E23": "1111",
"E25": "5",
"G1": {
"b": "1",
"c": "1"
},
"G2": {
"d": "1"
},
"E2": "test pdf",
"E3": "1",
"E4": "1",
"E5a": "12121991",
"E6": "1",
"E8": "7110",
"E5b": 28,
"E9": "01",
"E1a": "1",
"H3b": "4",
"E24c1": "06",
"E1b": "i",
"H3a": "12",
"E26a": [
"04",
"07",
"09"
],
"E14a": {
"a": "1",
"b": "1",
"c": "1"
}
}
預期的最終結果會變成這樣ArrayList [E,G,H]
僅供參考,key.chartAt(0) 可以來自 EI。 我正在考慮循環輸入每個 Object 並檢查 0 處的字符,如果列表不包含該字符,則將其放入列表中。 但我認為它會消耗很多 java 處理,我的 function 會變得更長。 有什么方法可以在不遍歷所有 Object 的情況下實現我的最終結果。
任何建議表示贊賞。
你可以這樣試試
JSONObject json = getJsonObject(); // your JSONObject
Set<String> jsonKeys = json.keySet();
Set<Character> myKeySet = jsonKeys.stream()
.map(key-> key.charAt(0))
.collect(Collectors.toSet());
System.out.println(myKeySet);
Output:
[E,G,H]
注意:由於您的密鑰不應該重復使用 Set,否則您可以將其替換為 ArrayList
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.