Parsing a subset of JSON in Java using Jackson

前端 未结 4 2314
花落未央
花落未央 2021-02-14 21:51

Given a Json, is it possible to use Jackson to only parse out a section of the message? Say that the data I\'m interested in is buried in a deep hierarchy of fields and I simply

4条回答
  •  执念已碎
    2021-02-14 22:45

    ObjectMapper mapper = new ObjectMapper();
    JsonNode json = mapper.readTree("... your JSON ...");
    

    Using the JsonNode object you can then call get("my").get("deep").get("structure") to get the node you want.

    Once you got your hands on that node, a simple call to mapper.treeToValue(myDeepJsonNode, Telephone[].class) will get you your array ofTelephone. You can get a list using a TypeReference as well.

    To get to your deep JsonNode you can also use the findValue and findPath methods.

    The Javadoc: https://fasterxml.github.io/jackson-databind/javadoc/2.2.0/com/fasterxml/jackson/databind/JsonNode.html

提交回复
热议问题