Java Jackson支持JsonPath注释吗
我当时正在springmvc框架中研究Responses的json解码,并使用jackson converter作为实现。 现在有个案子。有些物体是巨大的,有很深的层次,我想抓住最底层的信息。Java Jackson支持JsonPath注释吗,java,spring,jackson,jsonpath,Java,Spring,Jackson,Jsonpath,我当时正在springmvc框架中研究Responses的json解码,并使用jackson converter作为实现。 现在有个案子。有些物体是巨大的,有很深的层次,我想抓住最底层的信息。 有没有类似于jsonPath的方法可以通过注释字段或类似的方式来帮助我?最简单的方法之一是使用“at”函数将根转移到指定的JSON节点 在下面的示例中,我将根节点移动到节点3。我添加了如何将node3转换为简单POJO的示例。您还可以直接访问子节点,而无需将其转换为POJO private static
有没有类似于jsonPath的方法可以通过注释字段或类似的方式来帮助我?最简单的方法之一是使用“at”函数将根转移到指定的JSON节点 在下面的示例中,我将根节点移动到
节点3
。我添加了如何将node3
转换为简单POJO的示例。您还可以直接访问子节点,而无需将其转换为POJO
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);
}
请注意,at
方法永远不会返回null!
从方法javadoc:
Method will never return null; if no matching node exists,
will return a node for which {@link #isMissingNode()} returns true.
如果您发布JSON示例并告诉我您想要忽略哪些节点以及您想要解析哪些节点,我可以给出一个与您的问题更相关的答案