杰克逊是否支持JsonPath注释

时间:2016-04-17 08:09:09

标签: java spring jackson jsonpath

我正在使用springmvc框架中的响应'json解码,并使用jackson转换器作为实现。 现在有一个案子。一些对象是巨大的,有很深的水平,我想抓住最底层的信息。 有没有像jsonPath那样通过注释字段或类似的东西来帮助我?

1 个答案:

答案 0 :(得分:2)

最简单的方法之一是使用'at'函数将根移到指定的JSON节点。

在下面的示例中,我将根节点移至Cat| Val 1|11600 2| 4020 3| 1 。我添加了如何将node3转换为简单POJO的示例。您也可以直接访问子节点,而无需将其转换为POJO。

node3

请注意,private static final String JSON = "{\"node1\": {\"node2\": {\"node3\": {\"title2\":\"test\"}}}}"; public static void main(String []args) throws IOException { ObjectMapper mapper = new ObjectMapper(); JsonNode root = mapper.readTree(JSON); JsonNode node = root.at("/node1/node2"); System.out.println(node); System.out.println("-----------------"); JsonNode node3 = node.at("/node3"); System.out.println(node3); System.out.println(node3.asText()); System.out.println("-----------------"); Node result = mapper.readValue(node3.toString(), Node.class); System.out.println(result); } 方法永远不会返回null! 从方法javadoc:

at

如果您发布JSON示例并告诉我您要忽略哪些节点以及要解析的节点,我可以找到与您的问题更相关的答案。