Jackson is able to filter during parsing. Only the json node you asked for is created.
reader = new ObjectMapper().reader().at("/../phoneNumbers"); JSonNode phoneNumbersNode = reader.readTree(...)