我可以使用:
从JsonObject中删除密钥String prop = "test";
JsonObject o = parser.parse(props).getAsJsonObject();
o.remove(prop);
我需要从JsonObject中删除与特定模式匹配的所有键,就像以“test。*”开头的任何键一样。而不是迭代键并找到匹配,有没有其他方法来删除匹配给定模式的键?
input: {"test":"0","test_1": "1","test_10":"10", "site":"abc.com"}
expected output: {"site":"abc.com"}
谢谢!
答案 0 :(得分:0)
没有。
您可以做的最好的事情是在循环之前编译正则表达式以提高性能:
Pattern pattern = Pattern.compile(prop);
Iterator<Entry<...>> it = o.entrySet().iterator();
while (it.hasNext()) {
Entry<...> entry = it.next();
if (pattern.matcher(entry.getKey()).matches()) {
i.remove();
}
}