从 JSONObject 中删除除一个之外的所有键

Har*_*ekh 3 java json java-8

我有一个像这样的 JSONObject (org.json):

{
    "a": "a",
    "b": "a",
    "c": "a",
    "d": "a",
    "e": "a",
    "f": "a",
    "g": "a",
    ...
}
Run Code Online (Sandbox Code Playgroud)

我想删除除 之外的所有键a。除了我天真的方法之外,还有其他优雅的方法吗?

Iterator<String> keys = jsonObject.keys();
while (keys.hasNext()) {
    if (!keys.next().equals("a")) {
        keys.remove();
    }
}
Run Code Online (Sandbox Code Playgroud)

预期输出:

{"a": "a"}
Run Code Online (Sandbox Code Playgroud)

Nam*_*man 5

我相信更简单的方法是使用removeIfas

jsonObject.keySet().removeIf(k -> !k.equals("a"));
Run Code Online (Sandbox Code Playgroud)