List of usage examples for com.fasterxml.jackson.core JsonToken END_ARRAY
JsonToken END_ARRAY
To view the source code for com.fasterxml.jackson.core JsonToken END_ARRAY.
Click Source Link
From source file:com.streamsets.datacollector.json.JsonObjectReaderImpl.java
@SuppressWarnings("unchecked") protected Object readObjectFromArray() throws IOException { Object value = null;/*from w ww . j a v a2 s .c o m*/ if (starting) { starting = false; JsonToken token = jsonParser.nextToken(); rootContext = jsonParser.getParsingContext(); if (token != JsonToken.START_ARRAY) { throw new JsonParseException(Utils.format("JSON array expected but stream starts with '{}'", token), jsonParser.getTokenLocation()); } } JsonToken token = jsonParser.nextToken(); if (token != null && token != JsonToken.END_ARRAY) { value = jsonParser.readValueAs(Object.class); } return value; }
From source file:org.springframework.data.couchbase.core.convert.translation.JacksonTranslationService.java
/** * Helper method to decode an array recusrively. * * @param parser the JSON parser with the content. * @param target the target where the content should be stored. * * @throws IOException//from ww w .jav a2 s . c om * @returns the decoded list. */ private CouchbaseList decodeArray(final JsonParser parser, final CouchbaseList target) throws IOException { JsonToken currentToken = parser.nextToken(); while (currentToken != null && currentToken != JsonToken.END_ARRAY) { if (currentToken == JsonToken.START_OBJECT) { target.put(decodeObject(parser, new CouchbaseDocument())); } else if (currentToken == JsonToken.START_ARRAY) { target.put(decodeArray(parser, new CouchbaseList())); } else { target.put(decodePrimitive(currentToken, parser)); } currentToken = parser.nextToken(); } return target; }
From source file:com.github.heuermh.personalgenome.client.converter.JacksonPersonalGenomeConverter.java
/** * Parse the specified input stream and return a user. * * @param inputStream input stream/*w w w . j ava 2 s .co m*/ * @return the specified input stream parsed into a user */ @Override public User parseUser(final InputStream inputStream) { checkNotNull(inputStream); JsonParser parser = null; try { parser = jsonFactory.createParser(inputStream); parser.nextToken(); String id = null; String profileId = null; boolean genotyped = false; List<Profile> profiles = new ArrayList<Profile>(); while (parser.nextToken() != JsonToken.END_OBJECT) { String field = parser.getCurrentName(); parser.nextToken(); if ("id".equals(field)) { id = parser.getText(); } else if ("profiles".equals(field)) { while (parser.nextToken() != JsonToken.END_ARRAY) { while (parser.nextToken() != JsonToken.END_OBJECT) { String profileField = parser.getCurrentName(); parser.nextToken(); if ("id".equals(profileField)) { profileId = parser.getText(); } else if ("genotyped".equals(profileField)) { genotyped = parser.getBooleanValue(); } } profiles.add(new Profile(profileId, genotyped)); } } } return new User(id, profiles); } catch (IOException e) { logger.warn("could not parse user", e); } finally { try { inputStream.close(); } catch (Exception e) { // ignored } try { parser.close(); } catch (Exception e) { // ignored } } return null; }
From source file:org.emfjson.jackson.streaming.StreamReader.java
protected void readReference(JsonParser parser, EReference reference, EObject owner) throws IOException { JsonToken token = parser.nextToken(); if (reference.isContainment()) { if (isMapEntry(reference.getEReferenceType())) { if (token == JsonToken.START_OBJECT) { token = parseEntry(parser, reference, owner); }/*from w ww. jav a 2s . com*/ } if (token == JsonToken.START_ARRAY) { while (parser.nextToken() != JsonToken.END_ARRAY) { parseObject(parser, reference, owner, null); } } else if (token == JsonToken.START_OBJECT) { parseObject(parser, reference, owner, null); } } else { if (token == JsonToken.START_ARRAY) { while (parser.nextToken() != JsonToken.END_ARRAY) { entries.add(createReferenceEntry(parser, reference, owner)); } } else { entries.add(createReferenceEntry(parser, reference, owner)); } } }
From source file:com.addthis.codec.config.ConfigTraversingParser.java
@Override public JsonParser skipChildren() throws IOException, JsonParseException { if (_currToken == JsonToken.START_OBJECT) { _startContainer = false;//from w w w . java2s. c om _currToken = JsonToken.END_OBJECT; } else if (_currToken == JsonToken.START_ARRAY) { _startContainer = false; _currToken = JsonToken.END_ARRAY; } return this; }
From source file:io.apiman.manager.api.exportimport.json.JsonImportReader.java
public void readPlans() throws Exception { current = nextToken();/* w ww .j a va 2 s . co m*/ if (current == JsonToken.END_ARRAY) { return; } while (nextToken() != JsonToken.END_ARRAY) { // Traverse each plan definition while (nextToken() != JsonToken.END_OBJECT) { if (jp.getCurrentName().equals(PlanBean.class.getSimpleName())) { current = nextToken(); PlanBean planBean = jp.readValueAs(PlanBean.class); dispatcher.plan(planBean); } else { OrgElementsEnum fieldName = OrgElementsEnum.valueOf(jp.getCurrentName()); current = nextToken(); switch (fieldName) { case Versions: readPlanVersions(); break; default: throw new RuntimeException("Unhandled entity " + fieldName + " with token " + current); } } } } }
From source file:org.mongojack.internal.object.BsonObjectTraversingParser.java
@Override public JsonParser skipChildren() throws IOException { if (_currToken == JsonToken.START_OBJECT) { startContainer = false;// w ww.j ava 2 s. c om _currToken = JsonToken.END_OBJECT; } else if (_currToken == JsonToken.START_ARRAY) { startContainer = false; _currToken = JsonToken.END_ARRAY; } return this; }
From source file:com.cinnober.msgcodec.json.TypeScannerJsonParser.java
private void parseValue() throws IOException { JsonToken token = p.getCurrentToken(); if (token == null) { throw new DecodeException("Unexpected JSON token null"); }//from w w w. j a va 2 s . c o m switch (token) { case START_ARRAY: tokens.add(START_ARRAY); parseValuesUntil(JsonToken.END_ARRAY); tokens.add(END_ARRAY); break; case START_OBJECT: tokens.add(START_OBJECT); parseValuesUntil(JsonToken.END_OBJECT); tokens.add(END_OBJECT); break; case VALUE_STRING: case VALUE_NUMBER_FLOAT: case VALUE_NUMBER_INT: tokens.add(new ValueToken(token, p.getText())); break; case VALUE_TRUE: case VALUE_FALSE: case VALUE_NULL: tokens.add(new Token(token)); break; default: throw new DecodeException("Unexpected JSON token " + token + ": '" + p.getText() + "'"); } }
From source file:com.amazonaws.services.sns.util.SignatureChecker.java
private Map<String, String> parseJSON(String jsonmessage) { Map<String, String> parsed = new HashMap<String, String>(); JsonFactory jf = new JsonFactory(); try {//from w w w .j av a2s . co m JsonParser parser = jf.createJsonParser(jsonmessage); parser.nextToken(); //shift past the START_OBJECT that begins the JSON while (parser.nextToken() != JsonToken.END_OBJECT) { String fieldname = parser.getCurrentName(); parser.nextToken(); // move to value, or START_OBJECT/START_ARRAY String value; if (parser.getCurrentToken() == JsonToken.START_ARRAY) { value = ""; boolean first = true; while (parser.nextToken() != JsonToken.END_ARRAY) { if (!first) value += ","; first = false; value += parser.getText(); } } else { value = parser.getText(); } parsed.put(fieldname, value); } } catch (JsonParseException e) { // JSON could not be parsed e.printStackTrace(); } catch (IOException e) { // Rare exception } return parsed; }
From source file:name.gumartinm.weather.information.parser.JPOSForecastParser.java
private void getForecastWeatherDataObjects(final Forecast forecastWeatherData, final JsonParser jParser, final String fieldname) throws JsonParseException, IOException { if ("cod".equals(fieldname)) { final String stringCod = jParser.getText(); forecastWeatherData.setCod(Long.valueOf(stringCod)); }/* w w w .j a v a 2s . c om*/ if ("message".equals(fieldname)) { forecastWeatherData.setMessage(jParser.getDoubleValue()); } if ("city".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); final JsonToken nextToken = jParser.nextToken(); // move to // value if ("id".equals(namefield)) { forecastWeatherData.getCity().setId(jParser.getLongValue()); } if ("name".equals(namefield)) { forecastWeatherData.getCity().setName(jParser.getText()); } if ("coord".equals(namefield)) { if (nextToken == JsonToken.START_OBJECT) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, namefield); } } if ("country".equals(namefield)) { forecastWeatherData.getCity().setCountry(jParser.getText()); } if ("population".equals(namefield)) { forecastWeatherData.getCity().setPopulation(jParser.getLongValue()); } } } if ("cnt".equals(fieldname)) { forecastWeatherData.setCnt(jParser.getIntValue()); } if ("coord".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("lon".equals(namefield)) { forecastWeatherData.getCity().getCoord().setLon(jParser.getDoubleValue()); } if ("lat".equals(namefield)) { forecastWeatherData.getCity().getCoord().setLat(jParser.getDoubleValue()); } } } if ("list".equals(fieldname)) { final name.gumartinm.weather.information.model.forecastweather.List list = new name.gumartinm.weather.information.model.forecastweather.List(); list.setTemp(new Temp()); list.setWeather(new ArrayList<Weather>()); forecastWeatherData.getList().add(list); while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); final JsonToken nextToken = jParser.nextToken(); // move to // value if ("dt".equals(namefield)) { list.setDt(jParser.getLongValue()); } if ("temp".equals(namefield)) { if (nextToken == JsonToken.START_OBJECT) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, namefield); } } if ("pressure".equals(namefield)) { list.setPressure(jParser.getDoubleValue()); } if ("humidity".equals(namefield)) { list.setHumidity(jParser.getDoubleValue()); } if ("weather".equals(namefield)) { if (nextToken == JsonToken.START_ARRAY) { JsonToken tokenNext = jParser.nextToken(); while (tokenNext != JsonToken.END_ARRAY) { if (tokenNext == JsonToken.START_OBJECT) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, namefield); } tokenNext = jParser.nextToken(); } } } if ("speed".equals(namefield)) { list.setSpeed(jParser.getDoubleValue()); } if ("deg".equals(namefield)) { list.setDeg(jParser.getDoubleValue()); } if ("clouds".equals(namefield)) { list.setClouds(jParser.getDoubleValue()); } if ("rain".equals(namefield)) { list.setRain(jParser.getDoubleValue()); } } } if ("temp".equals(fieldname)) { final name.gumartinm.weather.information.model.forecastweather.List list = forecastWeatherData.getList() .get((forecastWeatherData.getList().size() - 1)); while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("day".equals(namefield)) { list.getTemp().setDay(jParser.getDoubleValue()); } if ("min".equals(namefield)) { list.getTemp().setMin(jParser.getDoubleValue()); } if ("max".equals(namefield)) { list.getTemp().setMax(jParser.getDoubleValue()); } if ("night".equals(namefield)) { list.getTemp().setNight(jParser.getDoubleValue()); } if ("eve".equals(namefield)) { list.getTemp().setEve(jParser.getDoubleValue()); } if ("morn".equals(namefield)) { list.getTemp().setMorn(jParser.getDoubleValue()); } } } if ("weather".equals(fieldname)) { final name.gumartinm.weather.information.model.forecastweather.List list = forecastWeatherData.getList() .get((forecastWeatherData.getList().size() - 1)); final Weather weather = new Weather(); while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("id".equals(namefield)) { weather.setId(jParser.getIntValue()); } if ("main".equals(namefield)) { weather.setMain(jParser.getText()); } if ("description".equals(namefield)) { weather.setDescription(jParser.getText()); } if ("icon".equals(namefield)) { weather.setIcon(jParser.getText()); } } list.getWeather().add(weather); } }