JSON删除Java中的多个重复键

时间:2017-02-08 06:19:59

标签: java json

我遇到过需要解析JSON字符串的情况,如果字符串包含多个重复键,我必须列出已复制的键。例如,

{
   "a":1,
   "b":2,
   "c":{"a":1, "z":2},
   "b":"blah",
   "c":34
}

因此在上面的示例中,我的List将包含'b'和'c'作为已复制的键。请注意,'a'不在此列表中,因为即使它存在两次,它也会驻留在'c'的值中。

当我在找到第一个重复密钥后调用new JSONObject(jsonString)处理停止时,但我希望找到所有重复的密钥。

我尝试了多种方法,但是我遇到了修复一个问题并因此产生第二个问题的老问题。任何帮助将不胜感激。

编辑:我道歉,我早些时候应该提到这一点。 我必须在Java中搜索重复的密钥并返回已复制的密钥列表

1 个答案:

答案 0 :(得分:0)

您可以定义一个特殊对象,通过jackson ObjectMapper将json字符串转换为此类。根据属性类型,字符串将转换为合适的属性。您应该设置以下属性以忽略无效属性:

cell.textView?.dataDetectorTypes = []

但是为了查找重复的属性,您应该将输入转换为Multimap对象并执行for循环以查找重复的键。