Parsing a subset of JSON in Java using Jackson

前端 未结 3 1031
谎友^
谎友^ 2021-02-14 22:15

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

3条回答
  •  忘了有多久
    2021-02-14 22:38

    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

提交回复
热议问题