/** * @since 2.8 */ protected JsonParserSequence(boolean checkForExistingToken, JsonParser[] parsers) { super(parsers[0]); _checkForExistingToken = checkForExistingToken; _hasToken = checkForExistingToken && delegate.hasCurrentToken(); _parsers = parsers; _nextParserIndex = 1; }
@Override public boolean hasCurrentToken() { return delegate.hasCurrentToken(); } @Override public boolean hasTokenId(int id) { return delegate.hasTokenId(id); }
protected JsonParserSequence(boolean checkForExistingToken, JsonParser[] parsers) { super(parsers[0]); _checkForExistingToken = checkForExistingToken; _hasToken = checkForExistingToken && delegate.hasCurrentToken(); _parsers = parsers; _nextParserIndex = 1; }
@Override public boolean hasCurrentToken() { return delegate.hasCurrentToken(); } @Override public boolean hasTokenId(int id) { return delegate.hasTokenId(id); }
protected JsonToken switchAndReturnNext() throws IOException { while (_nextParserIndex < _parsers.length) { delegate = _parsers[_nextParserIndex++]; if (_checkForExistingToken && delegate.hasCurrentToken()) { return delegate.getCurrentToken(); } JsonToken t = delegate.nextToken(); if (t != null) { return t; } } return null; } }
/** * Example to readJson using StreamingAPI */ private static void readJson() throws IOException { JsonFactory jsonFactory = new JsonFactory(); JsonParser jsonParser = jsonFactory.createParser("{\"message\":\"Hi\",\"place\":{\"name\":\"World!\"}}"); JsonToken jsonToken = jsonParser.nextToken(); while(jsonParser.hasCurrentToken()) { if(jsonToken == VALUE_STRING) { System.out.print(jsonParser.getText() + " "); // print "Hi World!" } jsonToken = jsonParser.nextToken(); } System.out.println(); }
protected JsonToken switchAndReturnNext() throws IOException { while (_nextParserIndex < _parsers.length) { delegate = _parsers[_nextParserIndex++]; if (_checkForExistingToken && delegate.hasCurrentToken()) { return delegate.currentToken(); } JsonToken t = delegate.nextToken(); if (t != null) { return t; } } return null; } }
public T processJsonObject(JsonParser jsonParser) throws IOException { while (!jsonParser.nextFieldName(fieldName)) { if (!jsonParser.hasCurrentToken()) { throw new JsonParseException(jsonParser, "Unexpected end of object"); } if (jsonParser.getCurrentToken() == END_OBJECT) { // Unable to find matching field return null; } jsonParser.skipChildren(); // Skip nested structure if currently at the start of one } jsonParser.nextToken(); // Shift to first token of the value return delegate.extract(jsonParser); }
throws IOException if (!jsonParser.hasCurrentToken()) { throw new JsonParseException(jsonParser, "Unexpected end of value");
LOG.debug( "Second token is {}", tmp ); while( jp.hasCurrentToken() ) {
CoordinatedCluster cluster = new CoordinatedCluster( delegate ); while( jp.hasCurrentToken() ) {
@Override public Slice extract(JsonParser jsonParser) throws IOException { if (!jsonParser.hasCurrentToken()) { throw new JsonParseException(jsonParser, "Unexpected end of value"); } DynamicSliceOutput dynamicSliceOutput = new DynamicSliceOutput(ESTIMATED_JSON_OUTPUT_SIZE); try (JsonGenerator jsonGenerator = createJsonGenerator(JSON_FACTORY, dynamicSliceOutput)) { jsonGenerator.copyCurrentStructure(jsonParser); } return dynamicSliceOutput.slice(); } }
LOG.debug( "Second token is {}", tmp ); while( jp.hasCurrentToken() ) {
public static <T> T deserializeFromDataNode(JsonParser jp, DeserializationContext ctxt, String propertyName, TypeReference<T> typeReference) throws IOException, JsonProcessingException { if (jp.hasCurrentToken() && jp.getCurrentToken().equals(JsonToken.START_OBJECT)) { JsonNode dataNode = jp.readValueAs(JsonNode.class); if (dataNode.has(propertyName)) { return OBJECT_MAPPER.reader(typeReference).<T>readValue(dataNode.get(propertyName)); } return null; } throw ctxt.mappingException("Expected JSON object"); }
public List<Recommendation> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new LinkedInModule()); jp.setCodec(mapper); if(jp.hasCurrentToken()) { JsonNode dataNode = jp.readValueAs(JsonNode.class).get("values"); if (dataNode != null) { return mapper.reader(new TypeReference<List<Recommendation>>() {}).readValue(dataNode); } } return null; }
public ConnectionAuthorization deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new LinkedInModule()); if(jp.hasCurrentToken() && jp.getCurrentToken().equals(JsonToken.START_OBJECT)) { JsonNode dataNode = jp.readValueAs(JsonNode.class).get("headers").get("values").get(0); if (dataNode != null) { return mapper.reader(new TypeReference<ConnectionAuthorization>() {}).readValue(dataNode); } } throw ctxt.mappingException("Expected JSON object"); }
public ConnectionAuthorization deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new LinkedInModule()); if(jp.hasCurrentToken() && jp.getCurrentToken().equals(JsonToken.START_OBJECT)) { JsonNode dataNode = jp.readValueAs(JsonNode.class).get("headers").get("values").get(0); if (dataNode != null) { return mapper.reader(new TypeReference<ConnectionAuthorization>() {}).readValue(dataNode); } } throw ctxt.mappingException("Expected JSON object"); }
public PostCategory deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if(jp.hasCurrentToken() && jp.getCurrentToken().equals(JsonToken.START_OBJECT)) { JsonNode node = jp.readValueAs(JsonNode.class); if (node.has("code")) { return PostCategory.valueOf(node.get("code").textValue().replace('-', '_').toUpperCase()); } } throw ctxt.mappingException("Expected JSON object"); } }
public MembershipState deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if(jp.hasCurrentToken() && jp.getCurrentToken().equals(JsonToken.START_OBJECT)) { JsonNode node = jp.readValueAs(JsonNode.class); if (node.has("code")) { return MembershipState.valueOf(node.get("code").textValue().replace('-', '_').toUpperCase()); } } throw ctxt.mappingException("Expected JSON object"); } }
public PostCategory deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { if(jp.hasCurrentToken() && jp.getCurrentToken().equals(JsonToken.START_OBJECT)) { JsonNode node = jp.readValueAs(JsonNode.class); if (node.has("code")) { return PostCategory.valueOf(node.get("code").textValue().replace('-', '_').toUpperCase()); } } throw ctxt.mappingException("Expected JSON object"); } }