2011-08-21 51 views
2

我需要反序列化JSON對象並以不區分大小寫的方式訪問字段。例如:傑克遜不區分大小寫的JsonNode

String s = "{\"FOO\": 123}"; 
ObjectMapper mapper = new ObjectMapper(); 
JsonNode node = mapper.readTree(s); 
node.get("foo"); // this should return the "FOO" field 

這需要有高性能,因此調用getFieldNames()和lowercasing的結果是不是一個很好的解決方案。

回答

2

沒有自動化的方式,但您可以通過創建自定義JsonNodeFactory來創建自定義ObjectNode - 然後您可以覆蓋用於添加和訪問條目的方法。