List of usage examples for com.fasterxml.jackson.core JsonParser skipChildren
public abstract JsonParser skipChildren() throws IOException, JsonParseException;
From source file:org.agorava.twitter.jackson.LocalTrendsDeserializer.java
@Override public LocalTrendsHolder deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode tree = jp.readValueAsTree(); Iterator<JsonNode> dayIt = tree.iterator(); if (dayIt.hasNext()) { JsonNode day = dayIt.next();// w w w . j a va 2s .c o m Date createdAt = toDate(day.get("created_at").asText()); JsonNode trendNodes = day.get("trends"); List<Trend> trends = new ArrayList<Trend>(); for (Iterator<JsonNode> trendsIt = trendNodes.iterator(); trendsIt.hasNext();) { JsonNode trendNode = trendsIt.next(); trends.add(new Trend(trendNode.get("name").asText(), trendNode.get("query").textValue())); } jp.skipChildren(); return new LocalTrendsHolder(new Trends(createdAt, trends)); } throw ctxt.mappingException(LocalTrendsHolder.class); }
From source file:org.springframework.social.twitter.api.impl.LocalTrendsDeserializer.java
@Override public LocalTrendsHolder deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonNode node = jp.readValueAs(JsonNode.class); Iterator<JsonNode> dayIt = node.iterator(); if (dayIt.hasNext()) { JsonNode day = dayIt.next();//from w w w . j a v a 2 s.co m Date createdAt = toDate(day.get("created_at").asText()); JsonNode trendNodes = day.get("trends"); List<Trend> trends = new ArrayList<Trend>(); for (Iterator<JsonNode> trendsIt = trendNodes.iterator(); trendsIt.hasNext();) { JsonNode trendNode = trendsIt.next(); trends.add(new Trend(trendNode.get("name").asText(), trendNode.get("query").asText())); } jp.skipChildren(); return new LocalTrendsHolder(new Trends(createdAt, trends)); } throw ctxt.mappingException(LocalTrendsHolder.class); }
From source file:com.unboundid.scim2.client.requests.SearchRequestBuilder.java
/** * Invoke the SCIM retrieve request./*from w w w. j av a 2 s. c o m*/ * * @param post {@code true} to send the request using POST or {@code false} * to send the request using GET. * @param <T> The type of objects to return. * @param resultHandler The search result handler that should be used to * process the resources. * @param cls The Java class object used to determine the type to return. * @throws ScimException If an error occurred. */ private <T> void invoke(final boolean post, final SearchResultHandler<T> resultHandler, final Class<T> cls) throws ScimException { Response response; if (post) { Set<String> attributeSet = null; Set<String> excludedAttributeSet = null; if (attributes != null && attributes.size() > 0) { if (!excluded) { attributeSet = attributes; } else { excludedAttributeSet = attributes; } } SearchRequest searchRequest = new SearchRequest(attributeSet, excludedAttributeSet, filter, sortBy, sortOrder, startIndex, count); Invocation.Builder builder = target().path(ApiConstants.SEARCH_WITH_POST_PATH_EXTENSION) .request(ScimService.MEDIA_TYPE_SCIM_TYPE, MediaType.APPLICATION_JSON_TYPE); for (Map.Entry<String, List<Object>> header : headers.entrySet()) { builder = builder.header(header.getKey(), StaticUtils.listToString(header.getValue(), ", ")); } response = builder.post(Entity.entity(searchRequest, getContentType())); } else { response = buildRequest().get(); } try { if (response.getStatusInfo().getFamily() == Response.Status.Family.SUCCESSFUL) { InputStream inputStream = response.readEntity(InputStream.class); try { JsonParser parser = JsonUtils.getObjectReader().getFactory().createParser(inputStream); try { parser.nextToken(); boolean stop = false; while (!stop && parser.nextToken() != JsonToken.END_OBJECT) { String field = parser.getCurrentName(); parser.nextToken(); if (field.equals("schemas")) { parser.skipChildren(); } else if (field.equals("totalResults")) { resultHandler.totalResults(parser.getIntValue()); } else if (field.equals("startIndex")) { resultHandler.startIndex(parser.getIntValue()); } else if (field.equals("itemsPerPage")) { resultHandler.itemsPerPage(parser.getIntValue()); } else if (field.equals("Resources")) { while (parser.nextToken() != JsonToken.END_ARRAY) { if (!resultHandler.resource(parser.readValueAs(cls))) { stop = true; break; } } } else if (SchemaUtils.isUrn(field)) { resultHandler.extension(field, parser.<ObjectNode>readValueAsTree()); } else { // Just skip this field parser.nextToken(); } } } finally { if (inputStream != null) { inputStream.close(); } parser.close(); } } catch (IOException e) { throw new ResponseProcessingException(response, e); } } else { throw toScimException(response); } } finally { response.close(); } }
From source file:GetAppConfig.java
private void getConf() { String line;//from w w w. j a va 2 s. c o m String json = ""; try { BufferedReader reader = new BufferedReader( new InputStreamReader(new FileInputStream(this.jsonfile), "UTF-8")); while ((line = reader.readLine()) != null) { json += line; } reader.close(); } catch (Exception e) { System.out.println("Error: readconf(): " + e.getMessage()); return; } JsonFactory factory = new JsonFactory(); try { JsonParser parser = factory.createParser(json); while (parser.nextToken() != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); if (name == null) continue; parser.nextToken(); if (name.equals("userid")) { this.setUserID(parser.getText()); } else if (name.equals("passwd")) { this.setPassword(parser.getText()); } else if (name.equals("deviceid")) { this.setDeviceID(parser.getText()); } else if (name.equals("pkgdir")) { this.setPackageDir(parser.getText()); } else { parser.skipChildren(); } } // while } catch (Exception e) { System.out.println("Error: parseconf(): " + e.getMessage()); } }
From source file:org.h2gis.drivers.geojson.GeoJsonReaderDriver.java
/** * We skip the CRS because it has been already parsed. * //from w w w.j a va 2 s . c o m * * @param jp */ private String skipCRS(JsonParser jp) throws IOException { jp.nextToken(); //START_OBJECT { jp.skipChildren(); /* jp.nextToken();// crs type jp.nextToken(); // crs name jp.nextToken(); // crs properties jp.nextToken(); //START_OBJECT { jp.nextToken(); // crs name jp.nextToken(); // crs value jp.nextToken(); //END_OBJECT } jp.nextToken(); //END_OBJECT }*/ jp.nextToken(); //Go to features return jp.getText(); }
From source file:nl.talsmasoftware.enumerables.support.json.jackson2.EnumerableDeserializer.java
private Enumerable parseObject(JsonParser jp, Class<? extends Enumerable> type) throws IOException { Enumerable value = null;//from w ww .j av a 2 s .c o m while (true) { final JsonToken nextToken = jp.nextToken(); if (nextToken == null) throw new IllegalStateException("JSON stream ended while parsing an Enumerable object."); switch (nextToken) { case VALUE_NULL: case VALUE_STRING: if (value == null && "value".equals(jp.getCurrentName())) { value = Enumerable.parse(type, jp.getText()); } break; case END_OBJECT: jp.clearCurrentToken(); if (value == null) throw new IllegalStateException( "Attribute \"value\" is required to parse an Enumerable JSON object."); return value; case START_ARRAY: case START_OBJECT: jp.skipChildren(); jp.clearCurrentToken(); break; } } }
From source file:org.h2gis.drivers.geojson.GeoJsonReaderDriver.java
/** * Check if the geometry is well formatted and contained an array of coordinates. * //from ww w . j a v a 2 s. co m * @param jp * @param metadataBuilder * @throws SQLException * @throws IOException */ private void checkCoordinates(JsonParser jp, StringBuilder metadataBuilder, String geometryType) throws SQLException, IOException { jp.nextToken(); // FIELD_NAME coordinates if (jp.getText().equalsIgnoreCase(GeoJsonField.COORDINATES)) { jp.nextToken();//START coordinates array jp.skipChildren(); if (isH2) { metadataBuilder.append("THE_GEOM ").append(geometryType).append(","); } else { metadataBuilder.append("THE_GEOM GEOMETRY(").append(geometryType).append(",").append(parsedSRID) .append("),"); } } else { throw new SQLException("Malformed GeoJSON file. Expected 'coordinates', found '" + jp.getText() + "'"); } }
From source file:org.elasticsearch.client.sniff.ElasticsearchHostsSniffer.java
private List<HttpHost> readHosts(HttpEntity entity) 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 . j a v a 2s . co m*/ List<HttpHost> hosts = 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(); HttpHost sniffedHost = readHost(nodeId, parser, this.scheme); if (sniffedHost != null) { logger.trace("adding node [" + nodeId + "]"); hosts.add(sniffedHost); } } } else { parser.skipChildren(); } } } return hosts; } }
From source file:com.github.shyiko.jackson.module.advice.AdvisedBeanDeserializer.java
protected Object deserializeWithView(JsonParser jp, DeserializationContext ctxt, Object bean, Class<?> activeView) throws IOException { beanDeserializerAdvice.before(bean, jp, ctxt); JsonToken t = jp.getCurrentToken();/*from ww w . ja v a 2 s. c o m*/ for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) { String propName = jp.getCurrentName(); // Skip field name: jp.nextToken(); if (beanDeserializerAdvice.intercept(bean, propName, jp, ctxt)) { continue; } SettableBeanProperty prop = _beanProperties.find(propName); if (prop != null) { if (!prop.visibleInView(activeView)) { jp.skipChildren(); continue; } try { prop.deserializeAndSet(jp, ctxt, bean); } catch (Exception e) { wrapAndThrow(e, bean, propName, ctxt); } continue; } handleUnknownVanilla(jp, ctxt, bean, propName); } beanDeserializerAdvice.after(bean, jp, ctxt); return bean; }
From source file:data.DefaultExchanger.java
public void importData(String dbName, JsonParser parser, JdbcTemplate jdbcTemplate) throws IOException { PlatformTransactionManager tm = new DataSourceTransactionManager(jdbcTemplate.getDataSource()); TransactionStatus ts = tm.getTransaction(new DefaultTransactionDefinition()); try {//from w w w. j a v a2 s .c om if (dbName.equals("MySQL")) { jdbcTemplate.update("SET FOREIGN_KEY_CHECKS = 0"); jdbcTemplate.update("SET NAMES \'utf8mb4\'"); } final Configuration config = Configuration.root(); int batchSize = config.getInt(DATA_BATCH_SIZE_KEY, DEFAULT_BATCH_SIZE); if (parser.nextToken() != JsonToken.END_OBJECT) { String fieldName = parser.getCurrentName(); play.Logger.debug("importing {}", fieldName); if (fieldName.equalsIgnoreCase(getTable())) { truncateTable(jdbcTemplate); JsonToken current = parser.nextToken(); if (current == JsonToken.START_ARRAY) { importDataFromArray(parser, jdbcTemplate, batchSize); importSequence(dbName, parser, jdbcTemplate); } else { play.Logger.info("Error: records should be an array: skipping."); parser.skipChildren(); } } } tm.commit(ts); } catch (Exception e) { e.printStackTrace(); tm.rollback(ts); } finally { if (dbName.equals("MySQL")) { jdbcTemplate.update("SET FOREIGN_KEY_CHECKS = 1"); } } }