在StackOverflow社区,
在这种情况下,我需要将Java区分到一个列表中。这样我就可以在那之后做一个if else语句。下面是我的JSON对象的一个示例。
{
"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)可以来自E-I。我正在考虑在每个对象中循环,检查字符是否为0,如果列表中没有包含该字符,则将其放入列表中。但我认为这将消耗大量的java处理,并且我的函数会变得更长。有没有什么方法可以在不遍历所有对象的情况下达到我的最终结果。
任何建议都是非常感谢的。
发布于 2020-06-30 13:02:29
你可以这样试一试,
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替换它
https://stackoverflow.com/questions/62650293
复制相似问题