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: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 www . j av a 2s .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.labkey.freezerpro.export.FreezerProCommandResonse.java
/** * Parse the array of objects into a list of row maps * @param parser/* w w w . j a v a 2s . c om*/ * @param data */ protected void parseDataArray(JsonParser parser, List<Map<String, Object>> data) throws IOException { expectArrayStart(parser); JsonToken token = parser.nextToken(); while (token != JsonToken.END_ARRAY) { if (token == JsonToken.END_OBJECT) break; Map node = _parser.readValueAs(Map.class); Map<String, Object> row = new HashMap<>(); for (Object key : node.keySet()) { String fieldName = String.valueOf(key); if (FreezerProExport.exportField(fieldName)) row.put(translateFieldName(fieldName), node.get(key)); } data.add(row); token = _parser.nextToken(); if (token == JsonToken.END_ARRAY) break; } }
From source file:com.cinnober.msgcodec.json.TypeScannerJsonParserTest.java
@Test public void testNested1() throws IOException { JsonParser p = new JsonFactory() .createParser("{\"a\":{\"c\":2, \"$type\":\"y\", \"d\":2.1}, \"$type\":\"x\", \"b\":1.1}"); p.nextToken(); // START_OBJECT p.nextToken(); // FIELD_NAME TypeScannerJsonParser p2 = new TypeScannerJsonParser(p); assertEquals("x", p2.findType()); assertNextField("a", p2); assertEquals(JsonToken.START_OBJECT, p2.nextToken()); // start nested object p2.nextToken(); // FIELD_NAME assertEquals("y", p2.findType()); assertNextField("c", p2); assertNextIntValue(2, p2);/*from w w w .jav a 2s .c o m*/ assertNextField("d", p2); assertNextFloatValue(2.1, p2); assertEquals(JsonToken.END_OBJECT, p2.nextToken()); // end nested object assertNextField("b", p2); assertNextFloatValue(1.1, p2); assertEquals(JsonToken.END_OBJECT, p2.nextToken()); assertNull(p2.nextToken()); }
From source file:name.gumartinm.weather.information.parser.JPOSCurrentParser.java
private void getCurrentWeatherDataObjects(final Current currentWeatherData, final JsonParser jParser, final String fieldname) throws JsonParseException, IOException { if ("coord".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("lon".equals(namefield)) { currentWeatherData.getCoord().setLon(jParser.getDoubleValue()); }/* ww w. j a va 2 s .c o m*/ if ("lat".equals(namefield)) { currentWeatherData.getCoord().setLat(jParser.getDoubleValue()); } } } if ("sys".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("message".equals(namefield)) { currentWeatherData.getSys().setMessage(jParser.getDoubleValue()); } if ("country".equals(namefield)) { currentWeatherData.getSys().setCountry(jParser.getValueAsString()); } if ("sunrise".equals(namefield)) { currentWeatherData.getSys().setSunrise(jParser.getValueAsLong()); } if ("sunset".equals(namefield)) { currentWeatherData.getSys().setSunset(jParser.getValueAsLong()); } } } if ("weather".equals(fieldname)) { final Weather weather = new Weather(); currentWeatherData.getWeather().add(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()); } } } if ("base".equals(fieldname)) { currentWeatherData.setBase(jParser.getText()); } if ("main".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("temp".equals(namefield)) { currentWeatherData.getMain().setTemp(jParser.getDoubleValue()); } if ("temp_min".equals(namefield)) { currentWeatherData.getMain().setTemp_min(jParser.getDoubleValue()); } if ("temp_max".equals(namefield)) { currentWeatherData.getMain().setTemp_max(jParser.getDoubleValue()); } if ("pressure".equals(namefield)) { currentWeatherData.getMain().setPressure(jParser.getDoubleValue()); } if ("sea_level".equals(namefield)) { currentWeatherData.getMain().setSea_level(jParser.getDoubleValue()); } if ("grnd_level".equals(namefield)) { currentWeatherData.getMain().setGrnd_level(jParser.getDoubleValue()); } if ("humidity".equals(namefield)) { currentWeatherData.getMain().setHumidity(jParser.getDoubleValue()); } } } if ("wind".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("speed".equals(namefield)) { currentWeatherData.getWind().setSpeed(jParser.getDoubleValue()); } if ("deg".equals(namefield)) { currentWeatherData.getWind().setDeg(jParser.getDoubleValue()); } } } if ("clouds".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("all".equals(namefield)) { currentWeatherData.getClouds().setAll(jParser.getDoubleValue()); } } } if ("dt".equals(fieldname)) { currentWeatherData.setDt(jParser.getLongValue()); } if ("rain".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("3h".equals(namefield)) { currentWeatherData.getRain().set3h(jParser.getDoubleValue()); } } } if ("snow".equals(fieldname)) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String namefield = jParser.getCurrentName(); jParser.nextToken(); // move to value if ("3h".equals(namefield)) { currentWeatherData.getSnow().set3h(jParser.getDoubleValue()); } } } if ("id".equals(fieldname)) { currentWeatherData.setId(jParser.getLongValue()); } if ("name".equals(fieldname)) { currentWeatherData.setName(jParser.getText()); } if ("cod".equals(fieldname)) { currentWeatherData.setCod(jParser.getIntValue()); } }
From source file:com.cedarsoft.serialization.serializers.jackson.ApplicationSerializer.java
@Nonnull @Override/*from www . j a v a 2 s .c om*/ public Application deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws VersionException, IOException, JsonProcessingException { //name JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName = parserWrapper.getCurrentName(); if (!PROPERTY_NAME.equals(currentName)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_NAME + "> but was <" + currentName + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); String name = parserWrapper.getText(); //version Version version = deserialize(Version.class, PROPERTY_VERSION, formatVersion, deserializeFrom); //Finally closing element parserWrapper.nextToken(JsonToken.END_OBJECT); //Constructing the deserialized object return new Application(name, version); }
From source file:com.cedarsoft.serialization.serializers.jackson.HashSerializer.java
@Nonnull @Override/*from w w w .j a v a 2s. c om*/ public Hash deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws VersionException, IOException, JsonProcessingException { JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName1 = parserWrapper.getCurrentName(); if (!PROPERTY_ALGORITHM.equals(currentName1)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_ALGORITHM + "> but was <" + currentName1 + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); Algorithm algorithm = Algorithm.getAlgorithm(deserializeFrom.getText()); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName = parserWrapper.getCurrentName(); if (!PROPERTY_VALUE.equals(currentName)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_VALUE + "> but was <" + currentName + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); String hex = deserializeFrom.getText(); parserWrapper.nextToken(JsonToken.END_OBJECT); return Hash.fromHex(algorithm, hex); }
From source file:KV78Tester.java
public String[] parseLines(BufferedReader in) throws Exception { JsonFactory f = new JsonFactory(); JsonParser jp = f.createJsonParser(in); ArrayList<String> lines = new ArrayList<String>(); jp.nextToken();//from ww w . j a v a 2s . com while (jp.nextToken() != JsonToken.END_OBJECT) { String line = jp.getCurrentName(); lines.add(line); jp.nextToken(); } jp.close(); in.close(); return lines.toArray(new String[lines.size()]); }
From source file:net.troja.eve.crest.CrestDataProcessor.java
private <T> String processData(final CrestApiProcessor<T> processor, final CrestContainer<T> container, final String data) { String next = null;//from ww w. ja va 2 s. co m try { final JsonFactory parserFactory = new JsonFactory(); final JsonParser jsonParser = parserFactory.createParser(data); jsonParser.nextToken(); while (jsonParser.nextToken() != JsonToken.END_OBJECT) { final String fieldname = jsonParser.getCurrentName(); jsonParser.nextToken(); switch (fieldname) { case "totalCount": container.setTotalCount(jsonParser.getIntValue()); break; case "pageCount": container.setPageCount(jsonParser.getIntValue()); break; case "items": processItems(processor, container, jsonParser); break; case "next": next = processNext(jsonParser); break; default: break; } } } catch (final IOException e) { if (LOGGER.isWarnEnabled()) { LOGGER.warn("Problems while parsing json data: " + e.getMessage(), e); } } return next; }
From source file:org.commonjava.maven.atlas.graph.jackson.ProjectRelationshipDeserializer.java
@Override public T deserialize(final JsonParser jp, final DeserializationContext ctx) throws JsonProcessingException, IOException { Map<String, Object> ast = new HashMap<String, Object>(); Map<String, JsonLocation> locations = new HashMap<String, JsonLocation>(); JsonToken token = jp.getCurrentToken(); String currentField = null;// www .jav a 2 s . c o m List<String> currentArry = null; Logger logger = LoggerFactory.getLogger(getClass()); do { // logger.info( "Token: {}", token ); switch (token) { case START_ARRAY: { // logger.info( "Starting array for field: {}", currentField ); currentArry = new ArrayList<String>(); break; } case END_ARRAY: // logger.info( "Ending array for field: {}", currentField ); locations.put(currentField, jp.getCurrentLocation()); ast.put(currentField, currentArry); currentArry = null; break; case FIELD_NAME: currentField = jp.getCurrentName(); break; case VALUE_STRING: if (currentArry != null) { currentArry.add(jp.getText()); } else { locations.put(currentField, jp.getCurrentLocation()); ast.put(currentField, jp.getText()); } break; case VALUE_NUMBER_INT: locations.put(currentField, jp.getCurrentLocation()); ast.put(currentField, jp.getIntValue()); break; case VALUE_NUMBER_FLOAT: locations.put(currentField, jp.getCurrentLocation()); ast.put(currentField, jp.getFloatValue()); break; case VALUE_TRUE: locations.put(currentField, jp.getCurrentLocation()); ast.put(currentField, Boolean.TRUE); break; case VALUE_FALSE: locations.put(currentField, jp.getCurrentLocation()); ast.put(currentField, Boolean.FALSE); break; } token = jp.nextToken(); } while (token != JsonToken.END_OBJECT); StringBuilder sb = new StringBuilder(); sb.append("AST is:"); for (String field : ast.keySet()) { Object value = ast.get(field); sb.append("\n ").append(field).append(" = "); if (value == null) { sb.append("null"); } else { sb.append(value).append(" (type: ").append(value.getClass().getSimpleName()).append(")"); } } logger.debug(sb.toString()); final RelationshipType type = RelationshipType.getType((String) ast.get(RELATIONSHIP_TYPE)); final String uri = (String) ast.get(POM_LOCATION_URI); URI pomLocation; if (uri == null) { pomLocation = RelationshipUtils.POM_ROOT_URI; } else { try { pomLocation = new URI(uri); } catch (final URISyntaxException e) { throw new JsonParseException("Invalid " + POM_LOCATION_URI + ": '" + uri + "': " + e.getMessage(), locations.get(POM_LOCATION_URI), e); } } Collection<URI> sources = new HashSet<URI>(); List<String> srcs = (List<String>) ast.get(SOURCE_URIS); if (srcs != null) { for (String u : srcs) { try { sources.add(new URI(u)); } catch (URISyntaxException e) { throw new JsonParseException("Failed to parse source URI: " + u, locations.get(SOURCE_URIS)); } } } String decl = (String) ast.get(DECLARING_REF); final ProjectVersionRef declaring = SimpleProjectVersionRef.parse(decl); String tgt = (String) ast.get(TARGET_REF); Integer index = (Integer) ast.get(INDEX); if (index == null) { index = 0; } // handle null implicitly by comparing to true. boolean managed = Boolean.TRUE.equals(ast.get(MANAGED)); boolean inherited = Boolean.TRUE.equals(ast.get(INHERITED)); boolean mixin = Boolean.TRUE.equals(ast.get(MIXIN)); boolean optional = Boolean.TRUE.equals(ast.get(OPTIONAL)); ProjectRelationship<?, ?> rel = null; switch (type) { case DEPENDENCY: { final ArtifactRef target = SimpleArtifactRef.parse(tgt); String scp = (String) ast.get(SCOPE); final DependencyScope scope; if (scp == null) { scope = DependencyScope.compile; } else { scope = DependencyScope.getScope(scp); } rel = new SimpleDependencyRelationship(sources, pomLocation, declaring, target, scope, index, managed, inherited, optional); break; } case EXTENSION: { final ProjectVersionRef target = SimpleProjectVersionRef.parse(tgt); rel = new SimpleExtensionRelationship(sources, pomLocation, declaring, target, index, inherited); break; } case PARENT: { final ProjectVersionRef target = SimpleProjectVersionRef.parse(tgt); rel = new SimpleParentRelationship(sources, declaring, target); break; } case PLUGIN: { final ProjectVersionRef target = SimpleProjectVersionRef.parse(tgt); Boolean report = (Boolean) ast.get(REPORTING); rel = new SimplePluginRelationship(sources, pomLocation, declaring, target, index, managed, Boolean.TRUE.equals(report), inherited); break; } case PLUGIN_DEP: { String plug = (String) ast.get(PLUGIN_REF); if (plug == null) { throw new JsonParseException( "No plugin reference (field: " + PLUGIN_REF + ") found in plugin-dependency relationship!", jp.getCurrentLocation()); } final ProjectRef plugin = SimpleProjectRef.parse(plug); final ArtifactRef target = SimpleArtifactRef.parse(tgt); rel = new SimplePluginDependencyRelationship(sources, pomLocation, declaring, plugin, target, index, managed, inherited); break; } case BOM: { final ProjectVersionRef target = SimpleProjectVersionRef.parse(tgt); rel = new SimpleBomRelationship(sources, pomLocation, declaring, target, index, inherited, mixin); break; } } return (T) rel; }
From source file:com.cedarsoft.serialization.serializers.jackson.ExtensionSerializer.java
@Nonnull @Override//from w ww .j a va2 s. c o m public Extension deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion) throws VersionException, IOException, JsonProcessingException { //delimiter JacksonParserWrapper parserWrapper = new JacksonParserWrapper(deserializeFrom); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName1 = parserWrapper.getCurrentName(); if (!PROPERTY_DELIMITER.equals(currentName1)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_DELIMITER + "> but was <" + currentName1 + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); String delimiter = parserWrapper.getText(); //extension parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.FIELD_NAME); String currentName = parserWrapper.getCurrentName(); if (!PROPERTY_EXTENSION.equals(currentName)) { throw new JsonParseException( "Invalid field. Expected <" + PROPERTY_EXTENSION + "> but was <" + currentName + ">", parserWrapper.getCurrentLocation()); } parserWrapper.nextToken(); String extension = parserWrapper.getText(); //Finally closing element parserWrapper.nextToken(JsonToken.END_OBJECT); //Constructing the deserialized object return new Extension(delimiter, extension); }