List of usage examples for com.fasterxml.jackson.core JsonParser nextToken
public abstract JsonToken nextToken() throws IOException, JsonParseException;
From source file:com.msopentech.odatajclient.engine.data.metadata.edm.TypeAnnotationDeserializer.java
@Override public TypeAnnotation deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { final TypeAnnotation typeAnnot = new TypeAnnotation(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Term".equals(jp.getCurrentName())) { typeAnnot.setTerm(jp.nextTextValue()); } else if ("Qualifier".equals(jp.getCurrentName())) { typeAnnot.setQualifier(jp.nextTextValue()); } else if ("Documentation".equals(jp.getCurrentName())) { jp.nextToken();// ww w . j av a 2s . c o m typeAnnot.setDocumentation(jp.getCodec().readValue(jp, Documentation.class)); } else if ("PropertyValue".equals(jp.getCurrentName())) { jp.nextToken(); typeAnnot.getPropertyValues().add(jp.getCodec().readValue(jp, PropertyValue.class)); } } } return typeAnnot; }
From source file:com.msopentech.odatajclient.engine.data.metadata.edm.v4.FunctionDeserializer.java
@Override protected Function doDeserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { final Function function = new Function(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Name".equals(jp.getCurrentName())) { function.setName(jp.nextTextValue()); } else if ("IsBound".equals(jp.getCurrentName())) { function.setBound(BooleanUtils.toBoolean(jp.nextTextValue())); } else if ("IsComposable".equals(jp.getCurrentName())) { function.setComposable(BooleanUtils.toBoolean(jp.nextTextValue())); } else if ("EntitySetPath".equals(jp.getCurrentName())) { function.setEntitySetPath(jp.nextTextValue()); } else if ("Parameter".equals(jp.getCurrentName())) { jp.nextToken();//from ww w. ja v a 2 s. c om function.getParameters().add(jp.getCodec().readValue(jp, Parameter.class)); } else if ("ReturnType".equals(jp.getCurrentName())) { function.setReturnType(parseReturnType(jp, "Function")); } else if ("Annotation".equals(jp.getCurrentName())) { jp.nextToken(); function.setAnnotation(jp.getCodec().readValue(jp, Annotation.class)); } } } return function; }
From source file:com.trenurbanoapp.webapi.WebApiRestClient.java
public AssetsPositionResponse assetsPosition() { HttpClient httpClient = getHttpClient(); HttpGet httpGet = new HttpGet(urlbase + "/asset/position"); getRequestCallback().doWithRequest(httpGet); try {/*from w w w .jav a 2 s .co m*/ return httpClient.execute(httpGet, response -> { int status = response.getStatusLine().getStatusCode(); if (!(status >= 200 && status < 300)) { return new AssetsPositionResponse(status, response.getStatusLine().getReasonPhrase()); } List<AssetPosition> assets = new ArrayList<>(); final JsonFactory jsonFactory = getObjectMapper().getFactory(); final JsonParser parser = jsonFactory.createParser(response.getEntity().getContent()); JsonToken token; while ((token = parser.nextToken()) != null) { switch (token) { case START_OBJECT: JsonNode node = parser.readValueAsTree(); AssetPosition position = createAssetPosition(node); assets.add(position); if (assetPositionCallback != null) { assetPositionCallback.execute(position); } break; } } return new AssetsPositionResponse(assets); }); } catch (IOException e) { throw new RuntimeException(e); } }
From source file:org.emfjson.jackson.databind.deser.EcoreReferenceDeserializer.java
@Override public ReferenceEntry deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { EObject parent = EMFContext.getParent(ctxt); EReference reference = EMFContext.getReference(ctxt); String id = null;/* w w w . j a v a2 s . co m*/ String type = null; while (jp.nextToken() != JsonToken.END_OBJECT) { final String field = jp.getCurrentName(); if (field.equalsIgnoreCase(info.getProperty())) { id = jp.nextTextValue(); } else if (field.equalsIgnoreCase(info.getTypeProperty())) { type = jp.nextTextValue(); } } return id != null ? new ReferenceEntry.Base(parent, reference, id, type) : null; }
From source file:org.apache.streams.facebook.processor.FacebookTypeConverter.java
public boolean isValidJSON(final String json) { boolean valid = false; try {/*from w ww . j ava 2s. c om*/ final JsonParser parser = new ObjectMapper().getJsonFactory().createJsonParser(json); while (parser.nextToken() != null) { } valid = true; } catch (JsonParseException jpe) { LOGGER.warn("validate: {}", jpe); } catch (IOException ioe) { LOGGER.warn("validate: {}", ioe); } return valid; }
From source file:com.msopentech.odatajclient.engine.data.metadata.edm.v4.TermDeserializer.java
@Override protected Term doDeserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { final Term term = new Term(); for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) { final JsonToken token = jp.getCurrentToken(); if (token == JsonToken.FIELD_NAME) { if ("Name".equals(jp.getCurrentName())) { term.setName(jp.nextTextValue()); } else if ("Type".equals(jp.getCurrentName())) { term.setType(jp.nextTextValue()); } else if ("BaseTerm".equals(jp.getCurrentName())) { term.setBaseTerm(jp.nextTextValue()); } else if ("DefaultValue".equals(jp.getCurrentName())) { term.setDefaultValue(jp.nextTextValue()); } else if ("Nullable".equals(jp.getCurrentName())) { term.setNullable(BooleanUtils.toBoolean(jp.nextTextValue())); } else if ("MaxLength".equals(jp.getCurrentName())) { term.setMaxLength(jp.nextTextValue()); } else if ("Precision".equals(jp.getCurrentName())) { term.setPrecision(BigInteger.valueOf(jp.nextLongValue(0L))); } else if ("Scale".equals(jp.getCurrentName())) { term.setScale(BigInteger.valueOf(jp.nextLongValue(0L))); } else if ("SRID".equals(jp.getCurrentName())) { term.setSrid(jp.nextTextValue()); } else if ("AppliesTo".equals(jp.getCurrentName())) { for (String split : StringUtils.split(jp.nextTextValue())) { term.getAppliesTo().add(CSDLElement.valueOf(split)); }/*from w ww .ja v a 2 s.c om*/ } else if ("Annotation".equals(jp.getCurrentName())) { jp.nextToken(); term.setAnnotation(jp.getCodec().readValue(jp, Annotation.class)); } } } return term; }
From source file:com.pursuer.reader.easyrss.data.parser.SubscriptionJSONParser.java
public void parse() throws JsonParseException, IOException, IllegalStateException { final JsonFactory factory = new JsonFactory(); final JsonParser parser = factory.createJsonParser(input); Subscription sub = new Subscription(); int level = 0; boolean found = false; while (parser.nextToken() != null) { final String name = parser.getCurrentName(); switch (parser.getCurrentToken()) { case START_OBJECT: case START_ARRAY: level++;// www .jav a 2 s . c o m break; case END_OBJECT: case END_ARRAY: level--; break; case VALUE_STRING: if (level == 3) { if ("id".equals(name)) { sub.setUid(parser.getText()); } else if ("htmlUrl".equals(name)) { sub.setUrl(parser.getText()); } else if ("title".equals(name)) { sub.setTitle(Html.fromHtml(parser.getText()).toString()); } else if ("sortid".equals(name)) { sub.setSortId(parser.getText()); } else if ("firstitemmsec".equals(name)) { sub.setFirstItemMsec(Long.valueOf(parser.getText())); } } else if (level == 5 && "id".equals(name)) { sub.addTag(parser.getText()); } break; case FIELD_NAME: if (level == 1 && "subscriptions".equals(name)) { found = true; } break; default: } if (level == 2) { if (sub.getUid() != null && listener != null) { listener.onSubscriptionRetrieved(sub); } sub = new Subscription(); } } parser.close(); if (!found) { throw new IllegalStateException("Invalid JSON input"); } }
From source file:com.cinnober.msgcodec.json.JsonValueHandlerTest.java
@Test public void testFloat64DecodeNaN() throws IOException { JsonParser p = f.createParser("\"NaN\""); p.nextToken(); assertTrue(Double.isNaN(JsonValueHandler.FLOAT64.readValue(p))); }
From source file:com.cinnober.msgcodec.json.JsonValueHandlerTest.java
@Test public void testFloat32DecodeNaN() throws IOException { JsonParser p = f.createParser("\"NaN\""); p.nextToken(); assertTrue(Double.isNaN(JsonValueHandler.FLOAT32.readValue(p))); }
From source file:uk.ac.manchester.cs.owl.semspreadsheets.repository.bioportal.BioPortalRepositoryAccessor.java
public String fetchOntologyFormat(String ontologyAcronym) { logger.debug("Fetching format for " + ontologyAcronym); BioPortalCache cache = BioPortalCache.getInstance(); String format = cache.getFormat(ontologyAcronym); if (format != null) { if (logger.isDebugEnabled()) { logger.debug("The ontology format for " + ontologyAcronym + " was found in the cache as " + format); }/* w ww .ja v a2s . c o m*/ } else { logger.info("The format for " + ontologyAcronym + " not found in cache, fetching"); try { URL url = new URL(BioPortalRepository.ONTOLOGY_LIST + "/" + ontologyAcronym + "/" + BioPortalRepository.LATEST_SUBMISSION + "?format=json&apikey=" + BioPortalRepository.readAPIKey()); logger.info("About to fetch more ontology information from " + url.toExternalForm()); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(CONNECT_TIMEOUT); connection.setReadTimeout(CONNECT_TIMEOUT); int responseCode = connection.getResponseCode(); logger.info("BioPortal http response: " + responseCode); if (responseCode == 400 || responseCode == 403) { throw new BioPortalAccessDeniedException(); } JsonParser parser = new JsonFactory().createParser(connection.getInputStream()); while (format == null && parser.nextToken() != null) { String name = parser.getCurrentName(); if ("hasOntologyLanguage".equals(name)) { parser.nextToken(); format = parser.getText(); } } if (format == null) { format = "unknown"; } cache.storeFormat(ontologyAcronym, format); } catch (UnknownHostException e) { ErrorHandler.getErrorHandler().handleError(e); } catch (MalformedURLException e) { logger.error("Error with URL for BioPortal rest API", e); } catch (SocketTimeoutException e) { logger.error("Timeout connecting to BioPortal", e); ErrorHandler.getErrorHandler().handleError(e); } catch (IOException e) { logger.error("Error communiciating with BioPortal rest API", e); } catch (BioPortalAccessDeniedException e) { ErrorHandler.getErrorHandler().handleError(e); } } return format; }