jackson中不区分大小写的JsonNode

我需要反序列化JSON对象并以不区分大小写的方式访问字段。 例:

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

这需要getFieldNames() ,因此调用getFieldNames()并降低结果并不是一个好的解决方案。

没有自动化方法,但您可以通过创建自定义JsonNodeFactory来创建自定义ObjectNode – 然后您可以覆盖用于添加和访问条目的方法。