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.basistech.rosette.dm.jackson.array.ListAttributeArrayDeserializer.java
@Override @SuppressWarnings("unchecked") public ListAttribute deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { if (jp.getCurrentToken() == JsonToken.START_ARRAY) { // this is what we expect. // we advance to be in the same place the 'else' will be -- the first FIELD_NAME. jp.nextToken();/*from w w w.j av a2 s.c o m*/ } else { throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "ListAttributeDeserializer called not array start."); } if (jp.getCurrentToken() != JsonToken.VALUE_STRING) { throw ctxt.mappingException("Expected VALUE_STRING for item type."); } String itemTypeKeyName = jp.getText(); KnownAttribute attribute = KnownAttribute.getAttributeForKey(itemTypeKeyName); if (attribute == null) { attribute = KnownAttribute.UNKNOWN; } Class<? extends BaseAttribute> itemClass = attribute.attributeClass(); ListAttribute.Builder<BaseAttribute> builder = new ListAttribute.Builder<>(attribute.attributeClass()); List<BaseAttribute> items = Lists.newArrayList(); if (jp.nextToken() != JsonToken.START_ARRAY) { throw ctxt.wrongTokenException(jp, JsonToken.START_ARRAY, "No array of values for list."); } // we just read the elements as we see them, while (jp.nextToken() != JsonToken.END_ARRAY) { // the START_ARRAY case, which is _normal_. Read the elements. items.add(jp.readValueAs(itemClass)); } builder.setItems(items); // we are still in the top-level array ... if (jp.nextToken() != JsonToken.START_OBJECT) { throw ctxt.wrongTokenException(jp, JsonToken.START_OBJECT, "No extended properties for list."); } Map<String, Object> props = jp.readValueAs(new TypeReference<Map<String, Object>>() { }); for (Map.Entry<String, Object> me : props.entrySet()) { builder.extendedProperty(me.getKey(), me.getValue()); } jp.nextToken(); // consume the END_OBJECT of the extended props return builder.build(); }
From source file:com.github.heuermh.ensemblrestclient.JacksonVariationConverter.java
static Variation parseVariation(final JsonFactory jsonFactory, final InputStream inputStream) throws IOException { JsonParser parser = null;//from www. jav a 2 s . co m try { parser = jsonFactory.createParser(inputStream); parser.nextToken(); String identifier = null; String referenceAllele = null; List<String> alternateAlleles = new ArrayList<String>(); String locationName = null; String coordinateSystem = "chromosome"; int start = -1; int end = -1; int strand = -1; while (parser.nextToken() != JsonToken.END_OBJECT) { String field = parser.getCurrentName(); parser.nextToken(); if ("name".equals(field)) { identifier = parser.getText(); } else if ("mappings".equals(field)) { // todo: will only catch last mapping while (parser.nextToken() != JsonToken.END_ARRAY) { while (parser.nextToken() != JsonToken.END_OBJECT) { String mappingsField = parser.getCurrentName(); parser.nextToken(); if ("seq_region_name".equals(mappingsField)) { locationName = parser.getText(); } else if ("start".equals(mappingsField)) { start = Integer.parseInt(parser.getText()); } else if ("end".equals(mappingsField)) { end = Integer.parseInt(parser.getText()); } else if ("strand".equals(mappingsField)) { strand = Integer.parseInt(parser.getText()); } else if ("allele_string".equals(mappingsField)) { String[] tokens = parser.getText().split("/"); // todo: check ref here against ancestral_allele referenceAllele = tokens[0]; for (int i = 1; i < tokens.length; i++) { alternateAlleles.add(tokens[i]); } } } } } else if ("synonyms".equals(field)) { while (parser.nextToken() != JsonToken.END_ARRAY) { // ignore } } else if ("evidence".equals(field)) { while (parser.nextToken() != JsonToken.END_ARRAY) { // ignore } } } return new Variation(identifier, referenceAllele, alternateAlleles, new Location(locationName, coordinateSystem, start, end, strand)); } finally { try { inputStream.close(); } catch (Exception e) { // ignored } try { parser.close(); } catch (Exception e) { // ignored } } }
From source file:name.gumartinm.weather.information.parser.JPOSForecastParser.java
private void getForecastWeatherData(final Forecast forecastWeatherData, final JsonParser jParser) throws JsonParseException, IOException { if (jParser.nextToken() == JsonToken.START_OBJECT) { while (jParser.nextToken() != JsonToken.END_OBJECT) { final String fieldname = jParser.getCurrentName(); final JsonToken nextToken = jParser.nextToken(); if (nextToken == JsonToken.START_OBJECT) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, fieldname); }//from w ww . j a v a 2 s. co m if (nextToken == JsonToken.START_ARRAY) { JsonToken tokenNext = jParser.nextToken(); while (tokenNext != JsonToken.END_ARRAY) { if (tokenNext == JsonToken.START_OBJECT) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, fieldname); } tokenNext = jParser.nextToken(); } } if ((nextToken == JsonToken.VALUE_NUMBER_INT) || (nextToken == JsonToken.VALUE_STRING)) { this.getForecastWeatherDataObjects(forecastWeatherData, jParser, fieldname); } } } }
From source file:net.signalr.client.json.jackson.JacksonReader.java
@Override public void readEndArray() { final JsonToken token; try {//from w w w.j a va 2 s. c o m if (_parser.hasCurrentToken()) { token = _parser.getCurrentToken(); } else { token = _parser.nextToken(); } _parser.clearCurrentToken(); } catch (final Exception e) { throw new JsonException(e); } if (token != JsonToken.END_ARRAY) { throw new JsonException("Expected END_ARRAY but was " + token); } }
From source file:org.emfjson.jackson.databind.deser.ResourceDeserializer.java
@Override public Resource deserialize(JsonParser jp, DeserializationContext ctxt, Resource intoValue) throws IOException { final Resource resource = getResource(ctxt, intoValue); if (resource == null) { throw new IllegalArgumentException("Invalid resource"); }/*from ww w .ja va 2 s.c om*/ final ReferenceEntries entries = new ReferenceEntries(); final EcoreTypeFactory ecoreType = new EcoreTypeFactory(); final ResourceSet resourceSet = resource.getResourceSet(); ctxt.setAttribute(RESOURCE, resource); ctxt.setAttribute(REFERENCE_ENTRIES, entries); ctxt.setAttribute(CACHE, new Cache()); ctxt.setAttribute(TYPE_FACTORY, ecoreType); ctxt.setAttribute(RESOURCE_SET, resourceSet); if (!jp.hasCurrentToken()) { jp.nextToken(); } final TypeFactory factory = TypeFactory.defaultInstance(); final JsonDeserializer<Object> deserializer = ctxt .findRootValueDeserializer(factory.constructType(EObject.class)); if (jp.getCurrentToken() == JsonToken.START_ARRAY) { while (jp.nextToken() != JsonToken.END_ARRAY) { EObject value = (EObject) deserializer.deserialize(jp, ctxt); if (value != null) { resource.getContents().add(value); } } } else if (jp.getCurrentToken() == JsonToken.START_OBJECT) { EObject value = (EObject) deserializer.deserialize(jp, ctxt); if (value != null) { resource.getContents().add(value); } } entries.resolve(resourceSet, uriHandler); return resource; }
From source file:de.upb.wdqa.wdvd.datamodel.oldjson.jackson.wdtk.ModifiedMapDeserializer.java
@SuppressWarnings("unchecked") @Override/* ww w. j a v a 2 s. c o m*/ public Map<K, V> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException { Map<K, V> result = null; if (p.getCurrentToken().equals(JsonToken.START_ARRAY)) { result = new HashMap<>(); p.nextToken(); if (!p.getCurrentToken().equals(JsonToken.END_ARRAY)) { logger.warn("Array was not empty. Current token: " + p.getCurrentToken()); } } else { Object tmp = defaultDeserializer.deserialize(p, ctxt); result = (Map<K, V>) tmp; } return result; }
From source file:ch.rasc.wampspring.message.PublishMessage.java
public PublishMessage(JsonParser jp, WampSession wampSession) throws IOException { super(WampMessageType.PUBLISH); if (jp.nextToken() != JsonToken.VALUE_STRING) { throw new IOException(); }/*from w ww. ja va 2 s . com*/ setTopicURI(replacePrefix(jp.getValueAsString(), wampSession)); jp.nextToken(); this.event = jp.readValueAs(Object.class); if (jp.nextToken() != JsonToken.END_ARRAY) { if (jp.getCurrentToken() == JsonToken.VALUE_TRUE || jp.getCurrentToken() == JsonToken.VALUE_FALSE) { this.excludeMe = jp.getValueAsBoolean(); this.exclude = null; this.eligible = null; if (jp.nextToken() != JsonToken.END_ARRAY) { // Wrong message format, excludeMe should not be followed by // any value throw new IOException(); } } else { this.excludeMe = null; TypeReference<Set<String>> typRef = new TypeReference<Set<String>>() { // nothing here }; if (jp.getCurrentToken() != JsonToken.START_ARRAY) { throw new IOException(); } this.exclude = jp.readValueAs(typRef); if (jp.nextToken() == JsonToken.START_ARRAY) { this.eligible = jp.readValueAs(typRef); } else { this.eligible = null; } } } else { this.excludeMe = null; this.exclude = null; this.eligible = null; } }
From source file:io.wcm.caravan.io.jsontransform.source.JacksonStreamSource.java
private JsonElement parseJsonElement(final JsonToken token) throws IOException { String key = parser.getCurrentName(); if (JsonToken.START_OBJECT.equals(token)) { return JsonElement.DEFAULT_START_OBJECT; } else if (JsonToken.END_OBJECT.equals(token)) { return JsonElement.DEFAULT_END_OBJECT; } else if (JsonToken.START_ARRAY.equals(token)) { return JsonElement.DEFAULT_START_ARRAY; } else if (JsonToken.END_ARRAY.equals(token)) { return JsonElement.DEFAULT_END_ARRAY; } else if (JsonToken.FIELD_NAME.equals(token)) { return handleFieldName(key); }//from w w w .j a va 2 s.c o m return JsonElement.value(key, parseValue(token)); }
From source file:dk.dma.navnet.messages.TextMessageReader.java
public String[] takeStringArray() throws IOException { if (jp.nextToken() != JsonToken.START_ARRAY) { throw new IOException("Expected an String, but was '" + jp.getText() + "'"); }//from w w w . j a va 2 s .c o m ArrayList<String> result = new ArrayList<>(); while (jp.nextToken() != JsonToken.END_ARRAY) { result.add(jp.getText()); } return result.toArray(new String[result.size()]); }
From source file:org.emfjson.jackson.streaming.StreamReader.java
private void parseArray(JsonParser parser) throws IOException { while (parser.nextToken() != JsonToken.END_ARRAY) { if (parser.getCurrentToken() == JsonToken.START_OBJECT) { EObject result = parseObject(parser, null, null, options.rootElement); if (result != null) { resource.getContents().add(result); }//from w ww . jav a2 s. c o m } } }