List of usage examples for com.fasterxml.jackson.core JsonToken END_OBJECT
JsonToken END_OBJECT
To view the source code for com.fasterxml.jackson.core JsonToken END_OBJECT.
Click Source Link
From source file:net.signalr.client.json.jackson.JacksonReader.java
@Override public boolean read() { final JsonToken token; try {/*from w ww . j ava2 s .c om*/ token = _parser.nextToken(); } catch (final Exception e) { throw new JsonException(e); } if (token == null) { return false; } if (token == JsonToken.NOT_AVAILABLE) { return false; } if (token == JsonToken.END_ARRAY) { return false; } if (token == JsonToken.END_OBJECT) { return false; } return true; }
From source file:com.github.heuermh.personalgenome.client.converter.JacksonPersonalGenomeConverter.java
@Override public PersonalGenomeClientException parseException(final InputStream inputStream) { checkNotNull(inputStream);/* ww w .ja va 2s. c o m*/ JsonParser parser = null; try { parser = jsonFactory.createParser(inputStream); parser.nextToken(); String error = null; String errorDescription = null; while (parser.nextToken() != JsonToken.END_OBJECT) { String field = parser.getCurrentName(); parser.nextToken(); if ("error".equals(field)) { error = parser.getText(); } else if ("error_description".equals(field)) { errorDescription = parser.getText(); } } if ("access_denied".equals(error)) { return new AccessDeniedException(errorDescription); } else if ("invalid_client".equals(error)) { return new InvalidClientException(errorDescription); } else if ("invalid_request".equals(error)) { return new InvalidRequestException(errorDescription); } else if ("invalid_scope".equals(error)) { return new InvalidScopeException(errorDescription); } return new PersonalGenomeClientException(errorDescription); } catch (IOException e) { logger.warn("could not parse exception", e); } finally { try { inputStream.close(); } catch (Exception e) { // ignored } try { parser.close(); } catch (Exception e) { // ignored } } return new PersonalGenomeClientException("unknown error"); }
From source file:io.protostuff.JsonIOUtil.java
/** * Creates a json pipe from a {@link JsonParser}. *///from w w w .ja v a 2 s . com public static Pipe newPipe(final JsonParser parser, boolean numeric) throws IOException { final JsonInput jsonInput = new JsonInput(parser, numeric); return new Pipe() { @Override protected Input begin(Pipe.Schema<?> pipeSchema) throws IOException { if (parser.nextToken() != JsonToken.START_OBJECT) { throw new JsonInputException("Expected token: { but was " + parser.getCurrentToken() + " on message " + pipeSchema.wrappedSchema.messageFullName()); } return jsonInput; } @Override protected void end(Pipe.Schema<?> pipeSchema, Input input, boolean cleanupOnly) throws IOException { if (cleanupOnly) { parser.close(); return; } assert input == jsonInput; final JsonToken token = parser.getCurrentToken(); parser.close(); if (token != JsonToken.END_OBJECT) { throw new JsonInputException("Expected token: } but was " + token + " on message " + pipeSchema.wrappedSchema.messageFullName()); } } }; }
From source file:net.openhft.chronicle.wire.benchmarks.Data.java
public void readFrom(JsonParser parser) throws IOException { parser.nextToken();/* w w w. j av a 2 s . c o m*/ while (parser.nextToken() != JsonToken.END_OBJECT) { String fieldname = parser.getCurrentName(); parser.nextToken(); switch (fieldname) { case "price": setPrice(parser.getDoubleValue()); break; case "flag": flag = parser.getBooleanValue(); break; case "text": setText(parser.getValueAsString()); break; case "side": side = Side.valueOf(parser.getValueAsString()); break; case "smallInt": smallInt = parser.getIntValue(); break; case "longInt": longInt = parser.getLongValue(); break; } } }
From source file:org.emfjson.jackson.databind.deser.EObjectDeserializer.java
@Override public EObject deserialize(JsonParser jp, DeserializationContext ctxt, EObject intoValue) throws IOException { if (intoValue == null) { return null; }/* w w w.j ava2 s . com*/ EMFContext.prepare(ctxt); EObjectPropertyMap propertyMap = builder.construct(intoValue.eClass()); final Resource resource = getResource(ctxt); while (jp.nextToken() != JsonToken.END_OBJECT) { final String field = jp.getCurrentName(); final EObjectProperty property = propertyMap.findProperty(field); if (property != null) { property.deserializeAndSet(jp, intoValue, ctxt, resource); } else { handleUnknownProperty(jp, resource, ctxt); } } return intoValue; }
From source file:com.cedarsoft.serialization.jackson.JacksonParserWrapper.java
public void closeObject() throws IOException { nextToken(JsonToken.END_OBJECT); }
From source file:org.elasticsearch.client.sniff.ElasticsearchNodesSniffer.java
static List<Node> readHosts(HttpEntity entity, Scheme scheme, JsonFactory jsonFactory) throws IOException { try (InputStream inputStream = entity.getContent()) { JsonParser parser = jsonFactory.createParser(inputStream); if (parser.nextToken() != JsonToken.START_OBJECT) { throw new IOException("expected data to start with an object"); }/*from w w w . ja v a 2s . c o m*/ List<Node> nodes = new ArrayList<>(); while (parser.nextToken() != JsonToken.END_OBJECT) { if (parser.getCurrentToken() == JsonToken.START_OBJECT) { if ("nodes".equals(parser.getCurrentName())) { while (parser.nextToken() != JsonToken.END_OBJECT) { JsonToken token = parser.nextToken(); assert token == JsonToken.START_OBJECT; String nodeId = parser.getCurrentName(); Node node = readNode(nodeId, parser, scheme); if (node != null) { nodes.add(node); } } } else { parser.skipChildren(); } } } return nodes; } }
From source file:com.addthis.codec.jackson.CodecTypeDeserializer.java
@Override public Object deserializeTypedFromAny(JsonParser jp, DeserializationContext ctxt) throws IOException { // a jackson thing we might as well include if (jp.canReadTypeId()) { Object typeId = jp.getTypeId(); if (typeId != null) { return _deserializeWithNativeTypeId(jp, ctxt, typeId); }// w w w . j av a2 s. c o m } // can use this to approximate error location if a sub-method throws an exception JsonLocation currentLocation = jp.getTokenLocation(); JsonNode jsonNode; // empty objects can appear with END_OBJECT. that has special handling lots of places, but not in readTree if (jp.getCurrentToken() == JsonToken.END_OBJECT) { jsonNode = ctxt.getNodeFactory().objectNode(); } else { jsonNode = jp.readValueAsTree(); } ObjectCodec objectCodec = jp.getCodec(); try { Object bean = null; // _array handler if (jsonNode.isArray()) { bean = _deserializeTypedFromArray((ArrayNode) jsonNode, objectCodec, ctxt); // object handler } else if (jsonNode.isObject()) { bean = _deserializeTypedFromObject((ObjectNode) jsonNode, objectCodec, ctxt); } if (bean != null) { return bean; } else { // Jackson 2.6+ throws NPE on null typeId parameter (underlying Map changed from HashMap // to ConcurrentHashMap), so use empty string instead of null JsonDeserializer<Object> deser = _findDeserializer(ctxt, ""); JsonParser treeParser = jp.getCodec().treeAsTokens(jsonNode); treeParser.nextToken(); return deser.deserialize(treeParser, ctxt); } } catch (JsonMappingException ex) { throw Jackson.maybeImproveLocation(currentLocation, ex); } }
From source file:org.talend.components.jira.datum.EntityParser.java
/** * Rewinds {@link JsonParser} to the value of specified field * /*from w ww . java2 s.c o m*/ * @param parser JSON parser * @param fieldName name of field rewind to * @return true if field was found, false otherwise * @throws IOException in case of exception during JSON parsing */ private static boolean rewindToField(JsonParser parser, final String fieldName) throws IOException { JsonToken currentToken = parser.nextToken(); /* * There is no special token, which denotes end of file, in Jackson. * This counter is used to define the end of file. * The counter counts '{' and '}'. It is increased, when meets '{' and * decreased, when meets '}'. When braceCounter == 0 it means the end * of file was met */ int braceCounter = 0; String currentField = null; do { if (JsonToken.START_OBJECT == currentToken) { braceCounter++; } if (JsonToken.END_OBJECT == currentToken) { braceCounter--; } if (JsonToken.FIELD_NAME == currentToken) { currentField = parser.getCurrentName(); } currentToken = parser.nextToken(); } while (!fieldName.equals(currentField) && braceCounter != END_JSON); return braceCounter != END_JSON; }
From source file:eu.project.ttc.readers.TermSuiteJsonCasDeserializer.java
public static void deserialize(InputStream inputStream, CAS cas, String encoding) { Preconditions.checkNotNull(inputStream, "Paramater input stream is null"); Preconditions.checkNotNull(inputStream, "Paramater CAS is null"); try {//from www. jav a 2s .co m JsonFactory factory = new JsonFactory(); parser = factory.createParser(inputStream); SourceDocumentInformation sdi = (SourceDocumentInformation) cas .createAnnotation(cas.getJCas().getCasType(SourceDocumentInformation.type), 0, 0); WordAnnotation wa = (WordAnnotation) cas.createAnnotation(cas.getJCas().getCasType(WordAnnotation.type), 0, 0); TermOccAnnotation toa = (TermOccAnnotation) cas .createAnnotation(cas.getJCas().getCasType(TermOccAnnotation.type), 0, 0); FixedExpression fe = (FixedExpression) cas .createAnnotation(cas.getJCas().getCasType(FixedExpression.type), 0, 0); boolean inSdi = false; boolean inWa = false; boolean inToa = false; boolean inFe = false; boolean inCoveredText = false; while ((token = parser.nextToken()) != null) { if (inSdi) { if (token == JsonToken.END_OBJECT) { inSdi = false; } else { fillSdi(parser, token, sdi); } } else if (inWa) { if (token == JsonToken.END_ARRAY) { inWa = false; } else if (token == JsonToken.END_OBJECT) { wa.addToIndexes(); wa = (WordAnnotation) cas.createAnnotation(cas.getJCas().getCasType(WordAnnotation.type), 0, 0); } fillWordAnnotations(parser, token, wa); } else if (inToa) { if (token == JsonToken.END_ARRAY && Objects.equals(parser.getParsingContext().getCurrentName(), "term_occ_annotations")) { inToa = false; } else if (token == JsonToken.END_OBJECT) { toa.addToIndexes(); toa = (TermOccAnnotation) cas .createAnnotation(cas.getJCas().getCasType(TermOccAnnotation.type), 0, 0); } FillTermOccAnnotations(parser, token, toa, cas); } else if (inFe) { if (token == JsonToken.END_ARRAY && Objects.equals(parser.getParsingContext().getCurrentName(), "fixed_expressions")) { inFe = false; } else if (token == JsonToken.END_OBJECT) { fe.addToIndexes(); fe = (FixedExpression) cas.createAnnotation(cas.getJCas().getCasType(FixedExpression.type), 0, 0); } FillFixedExpressions(parser, token, fe, cas); } else if (inCoveredText) { if (token == JsonToken.VALUE_STRING) { String text = parser.getText(); cas.setDocumentText(text); } } else if ("sdi".equals(parser.getParsingContext().getCurrentName())) { inSdi = true; } else if ("word_annotations".equals(parser.getParsingContext().getCurrentName())) { inWa = true; } else if ("term_occ_annotations".equals(parser.getParsingContext().getCurrentName())) { inToa = true; } else if ("fixed_expressions".equals(parser.getParsingContext().getCurrentName())) { inFe = true; } else if ("covered_text".equals(parser.getParsingContext().getCurrentName())) { inCoveredText = true; } } sdi.addToIndexes(); } catch (IOException | CASException e) { logger.error("An error occurred during TermSuite Json Cas parsing", e); } }