我想解析具有無效結構的json,它具有使用Jackson
庫的重複鍵。如果一個json有重複的鍵,我想將它們解壓爲Collection
。解析包含重複鍵的json
Wireshark
JSON出口)
例子:
{
"a": "a",
"a": {
"b": {
},
"b": true
}
}
但是,由於該JSON有重複鍵,只有最後一個值會被保留:
JsonNode tree = new ObjectMapper().readTree(json);
System.out.println(tree); // {"a":{"b":true}}
我也試過Guava
模塊具有Multimap
支持,但如預期的嵌套JSON對象這是行不通的。
利用番石榴模塊json的例子,我以前所示:
ObjectMapper mapper = new ObjectMapper();
mapper.registerModule(new GuavaModule());
mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
Multimap read = mapper.readValue(json, Multimap.class);
System.out.println(read); // {a=[a, {b=true}]}
我應該如何解決使用Jackson
庫這個問題?有沒有其他的庫可以支持java的這種json結構的解析?
有效的JSON的
Maven的依賴沒有重複鍵,所以解析庫不應該工作的方式,你'請求 –
SyntaxError:第3行重複鍵'a' –