Example usage for com.fasterxml.jackson.core JsonToken START_ARRAY

List of usage examples for com.fasterxml.jackson.core JsonToken START_ARRAY

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonToken START_ARRAY.

Prototype

JsonToken START_ARRAY

To view the source code for com.fasterxml.jackson.core JsonToken START_ARRAY.

Click Source Link

Document

START_ARRAY is returned when encountering '[' which signals starting of an Array value

Usage

From source file:org.ojai.beans.jackson.DocumentParser.java

@Override
public JsonToken nextToken() throws IOException, JsonParseException {
    if (tokens.isEmpty() && (_currEventType = r.next()) != null) {
        if (r.inMap() && r.getFieldName() != null && _currEventType != EventType.END_MAP
                && _currEventType != EventType.END_ARRAY) {
            tokens.add(JsonToken.FIELD_NAME);
        }// w  ww  . ja v  a 2 s. c om

        switch (_currEventType) {
        case START_ARRAY:
            tokens.add(JsonToken.START_ARRAY);
            break;
        case END_ARRAY:
            tokens.add(JsonToken.END_ARRAY);
            break;
        case START_MAP:
            tokens.add(JsonToken.START_OBJECT);
            break;
        case END_MAP:
            tokens.add(JsonToken.END_OBJECT);
            break;
        case NULL:
            tokens.add(JsonToken.VALUE_NULL);
            break;
        case STRING:
            tokens.add(JsonToken.VALUE_STRING);
            break;
        case BYTE:
        case SHORT:
        case INT:
        case LONG:
            tokens.add(JsonToken.VALUE_NUMBER_INT);
            break;
        case DECIMAL:
        case DOUBLE:
        case FLOAT:
            tokens.add(JsonToken.VALUE_NUMBER_FLOAT);
            break;
        case BOOLEAN:
            tokens.add(r.getBoolean() ? JsonToken.VALUE_TRUE : JsonToken.VALUE_FALSE);
            break;
        case DATE:
        case TIME:
        case TIMESTAMP:
        case INTERVAL:
        case BINARY:
            tokens.add(JsonToken.VALUE_EMBEDDED_OBJECT);
            break;
        }
    }
    _currToken = tokens.isEmpty() ? JsonToken.NOT_AVAILABLE : tokens.remove();
    return _currToken;
}

From source file:de.upb.wdqa.wdvd.datamodel.oldjson.jackson.deserializers.OldAliasesDeserializer.java

@Override
public LinkedHashMap<String, List<String>> deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    LinkedHashMap<String, List<String>> result = new LinkedHashMap<String, List<String>>();

    // Is the alias broken, i.e., it starts with '['
    if (jp.getCurrentToken().equals(JsonToken.START_ARRAY)) {
        jp.nextToken();//  w ww.j  ava  2 s  .  c om
        if (!jp.getCurrentToken().equals(JsonToken.END_ARRAY)) {
            logger.warn("Token " + JsonToken.END_ARRAY + " expected");
        }
    } else {
        ObjectCodec mapper = jp.getCodec();
        result = mapper.readValue(jp, new TypeReference<LinkedHashMap<String, OldAliasList>>() {
        });
    }

    return result;
}

From source file:org.datagator.api.client.SpooledRowBuffer.java

@Override
public Iterator<Object[]> iterator() {
    if (rowsCount <= cacheLimit) {
        return this.cache.iterator();
    } else {/*w ww  .  j a v a 2 s .c  o m*/
        try {
            flush();
        } catch (IOException ex) {
            throw new RuntimeException(ex);
        }
        return new Iterator<Object[]>() {

            private final JsonParser jp;
            private int rowIndex = 0;
            private final TypeReference<ArrayList<Object>> tr = new TypeReference<ArrayList<Object>>() {
            };

            {
                try {
                    // TODO lock cache file
                    cacheFile.seek(0);
                    FileReader reader = new FileReader(cacheFile.getFD());
                    jp = Entity.json.createParser(reader);
                    JsonToken token = jp.nextToken(); // START_ARRAY
                    if (!token.equals(JsonToken.START_ARRAY)) {
                        throw new RuntimeException("Corrupted cache file");
                    }
                } catch (IOException ex) {
                    throw new RuntimeException(ex);
                }
            }

            @Override
            public boolean hasNext() {
                return rowIndex < rowsCount;
            }

            @Override
            public Object[] next() {
                if (!hasNext()) {
                    throw new NoSuchElementException("No such elememnt.");
                }
                try {
                    rowIndex += 1;
                    ArrayList<Object> buffer = jp.readValueAs(tr);
                    return buffer.toArray();
                } catch (IOException ex) {
                    throw new RuntimeException(ex);
                }
            }

            @Override
            public void remove() {
                throw new UnsupportedOperationException("Not supported yet.");
            }

        };
    }
}

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  va 2 s  .  c  o 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:com.amazonaws.hal.client.HalJsonResourceUnmarshaller.java

@Override
public HalResource unmarshall(JsonUnmarshallerContext context) throws Exception {
    HalResource halResource = new HalResource();
    JsonToken token = context.getCurrentToken();

    if (token == null) {
        token = context.nextToken();//from  ww  w.j a v a  2s .  c  o  m
    }

    while (token != null && token != JsonToken.END_OBJECT) {
        if (token == JsonToken.FIELD_NAME) {
            if (context.testExpression("_links")) {
                context.nextToken();
                halResource.setLinks(HalJsonLinksUnmarshaller.getInstance().unmarshall(context));
            } else if (context.testExpression("_embedded")) {
                context.nextToken();
                halResource.setEmbedded(HalJsonEmbeddedUnmarshaller.getInstance().unmarshall(context));
            } else {
                String property = context.readText();

                token = context.nextToken();

                if (token == JsonToken.START_OBJECT) {
                    context.nextToken();
                    halResource.addProperty(property, HalJsonMapUnmarshaller.getInstance().unmarshall(context));
                } else if (token == JsonToken.START_ARRAY) {
                    context.nextToken();
                    halResource.addProperty(property,
                            HalJsonListUnmarshaller.getInstance().unmarshall(context));
                } else {
                    halResource.addProperty(property, JsonUnmarshallerUtil.getObjectForToken(token, context));
                }
            }
        }

        token = context.nextToken();
    }

    return halResource;
}

From source file:de.upb.wdqa.wdvd.datamodel.oldjson.jackson.wdtk.ModifiedMapDeserializer.java

@SuppressWarnings("unchecked")
@Override//from   ww  w  . j  av  a2s . c  om
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: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");
    }//w  w w .  j av a 2 s  .c o  m

    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: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() + "'");
    }//  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: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  ava  2s.c  o  m*/
    return JsonElement.value(key, parseValue(token));
}

From source file:com.microsoft.azure.storage.core.JsonUtilities.java

/***
 * Reserved for internal use. Asserts that the token type of the parser is the start of an array.
 * //from  www.  j a va2  s .  c  o m
 * @param parser
 *            The {@link JsonParser} whose current token to check.
 */
public static void assertIsStartArrayJsonToken(final JsonParser parser) throws JsonParseException {
    if (!(parser.getCurrentToken() == JsonToken.START_ARRAY)) {
        throw new JsonParseException(SR.EXPECTED_START_ARRAY, parser.getCurrentLocation());
    }
}