List of usage examples for com.fasterxml.jackson.core JsonToken START_ARRAY
JsonToken START_ARRAY
To view the source code for com.fasterxml.jackson.core JsonToken START_ARRAY.
Click Source Link
From source file:no.ssb.jsonstat.v2.deser.DimensionDeserializer.java
private ImmutableMap<String, String> parseIndex(JsonParser p, DeserializationContext ctxt) throws IOException { // Index can either be an array or object with id values. Here we transform // both to array. ImmutableMap<String, String> index = null; JsonToken token = p.currentToken();//from www . j a va 2s .com if (token == JsonToken.START_ARRAY) index = parseIndexAsArray(p); else if (token == JsonToken.START_OBJECT) index = parseIndexAsMap(p); else ctxt.reportMappingException( "could not deserialize category index, need either an array " + "or an object, got %s", token); return checkNotNull(index, "could not parse index"); }
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 ww w . jav a2 s . co m*/ } 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;/* w w w . j av a2 s . co m*/ _currToken = JsonToken.END_OBJECT; } else if (_currToken == JsonToken.START_ARRAY) { _startContainer = false; _currToken = JsonToken.END_ARRAY; } return this; }
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 {/* w w w. j a va 2 s. 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:org.mongojack.internal.object.BsonObjectTraversingParser.java
@Override public JsonParser skipChildren() throws IOException { if (_currToken == JsonToken.START_OBJECT) { startContainer = false;//from w w w . j a v a 2s.com _currToken = JsonToken.END_OBJECT; } else if (_currToken == JsonToken.START_ARRAY) { startContainer = false; _currToken = JsonToken.END_ARRAY; } return this; }
From source file:org.n52.movingcode.runtime.processors.config.ProcessorConfig.java
/** * Parsing routine for processor objects * /*from w ww . j a v a 2s . c o m*/ * @param jp * @return * @throws JsonParseException * @throws IOException */ private static final ProcessorDescription parseProcessorJSON(JsonParser jp) throws JsonParseException, IOException { ProcessorDescription p = new ProcessorDescription(); while (jp.nextToken() != END_OBJECT) { JsonToken jt = jp.getCurrentToken(); // look for ID and parse it if (jp.getCurrentName().equalsIgnoreCase(KEY_ID) && jt == VALUE_STRING) { p.setId(jp.getValueAsString()); } // look for temp workspace and parse it if (jp.getCurrentName().equalsIgnoreCase(KEY_TEMPWORKSPACE) && jt == VALUE_STRING) { p.setTempWorkspace(jp.getValueAsString()); } // look for containers and parse them (Value Case) if (jp.getCurrentName().equalsIgnoreCase(KEY_SUPPORTED_CONTAINER) && jt == VALUE_STRING) { p.addContainer(jp.getValueAsString()); } // look for containers and parse them (Array Case) if (jp.getCurrentName().equalsIgnoreCase(KEY_SUPPORTED_CONTAINER) && jt == START_ARRAY) { while (jp.nextToken() != END_ARRAY) { if (jp.getCurrentToken() == VALUE_STRING) { p.addPlatform(jp.getValueAsString()); } } } // look for platforms and parse them (Array Case) if (jp.getCurrentName().equalsIgnoreCase(KEY_AVAILABLE_PLATFORMS) && jt == JsonToken.START_ARRAY) { while (jp.nextToken() != END_ARRAY) { if (jp.getCurrentToken() == VALUE_STRING) { p.addPlatform(jp.getValueAsString()); } } } // look for platforms and parse them (Value Case) if (jp.getCurrentName().equalsIgnoreCase(KEY_AVAILABLE_PLATFORMS) && jt == JsonToken.VALUE_STRING) { p.addPlatform(jp.getValueAsString()); } // look for properties and parse them if (jp.getCurrentName().equalsIgnoreCase(KEY_PROPERTIES) && jt == JsonToken.START_ARRAY) { HashMap<String, String> props = new HashMap<String, String>(); while (jp.nextToken() != END_ARRAY) { if (jp.getCurrentToken() == FIELD_NAME) { props.put(jp.getCurrentName(), jp.nextTextValue()); } } p.setProperties(props); } } return p; }
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// w ww. j av a2s.co m * @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: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)); }//from w ww .j a v a2 s . c o m 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); } }
From source file:org.fluentd.jvmwatcher.JvmWatcher.java
/** * @param parser/*from w w w . j av a 2 s .c om*/ * @throws JsonParseException * @throws IOException */ private void loadTarget(JsonParser parser) throws JsonParseException, IOException { if (parser.nextToken() == JsonToken.START_ARRAY) { while (parser.nextToken() != JsonToken.END_ARRAY) { if (parser.getCurrentToken() == JsonToken.START_OBJECT) { String shortName = null; String pattern = null; while (parser.nextToken() != JsonToken.END_OBJECT) { if ((parser.getCurrentToken() == JsonToken.FIELD_NAME) && (parser.getText().compareTo("shortname") == 0)) { if (parser.nextToken() == JsonToken.VALUE_STRING) { shortName = parser.getText(); } } if ((parser.getCurrentToken() == JsonToken.FIELD_NAME) && (parser.getText().compareTo("pattern") == 0)) { if (parser.nextToken() == JsonToken.VALUE_STRING) { pattern = parser.getText(); } } } // add target pattern Pattern regexPattern = Pattern.compile(pattern); LocalJvmInfo.addTargetProcessPattern(shortName, regexPattern); } } } }
From source file:com.boundary.zoocreeper.Restore.java
private static void readACLs(JsonParser jp, List<ACL> acls) throws IOException { expectCurrentToken(jp, JsonToken.START_ARRAY); while (jp.nextToken() != JsonToken.END_ARRAY) { acls.add(readACL(jp));/*from www .j av a 2 s . com*/ } }