我使用Jackson并想检查输入的JSON字符串是否包含重复的属性,例如:
{"a" : 1, "a" : 0}
。以下是Jackson片段处理输入字符串而不会出现任何错误,甚至返回值:JsonNode jsonSelect = mapper.readTree("{ A : 1, A : 0}"); System.out.println(jsonSelect.getFieldValue("A")); // prints 0
。我有机会通过Jackson验证重复吗?顺便问一下,JSON格式是否支持重复的属性?我在specification中没有找到任何关于此的限制。此外,org.json.JSONObject
对重复项抛出异常,这并没有给我一个答案 - {"a" : 1, "a" : 0}
是否符合标准。
JSON.parse('{"a": true,"a": true}')
返回Object {a: true}
。虽然这是无效的JSON格式,但本地的JSON解析并没有捕获到错误,因此你需要进行检查。 - wheresrhys