我正在使用springmvc框架中的响应'json解码,并使用jackson转换器作为实现。 现在有一个案子。一些对象是巨大的,有很深的水平,我想抓住最底层的信息。 有没有像jsonPath那样通过注释字段或类似的东西来帮助我?
答案 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示例并告诉我您要忽略哪些节点以及要解析的节点,我可以找到与您的问题更相关的答案。