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

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

Introduction

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

Prototype

JsonToken START_OBJECT

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

Click Source Link

Document

START_OBJECT is returned when encountering '{' which signals starting of an Object value.

Usage

From source file:com.amazonaws.hal.client.HalJsonListUnmarshaller.java

@Override
public List<Object> unmarshall(JsonUnmarshallerContext context) throws Exception {
    List<Object> list = new ArrayList<>();
    JsonToken token = context.getCurrentToken();

    while (token != null && token != JsonToken.END_ARRAY) {
        if (token.isScalarValue()) {
            list.add(JsonUnmarshallerUtil.getObjectForToken(token, context));
        } else if (token == JsonToken.START_OBJECT) {
            context.nextToken();//from ww w. j a v a2 s  .co m
            list.add(HalJsonMapUnmarshaller.getInstance().unmarshall(context));
        } else if (token == JsonToken.START_ARRAY) {
            context.nextToken();
            list.add(HalJsonListUnmarshaller.getInstance().unmarshall(context));
        }

        token = context.nextToken();
    }

    return list;
}

From source file:org.intelligentsia.dowsers.core.serializers.jackson.ClassInformationDeserializer.java

@Override
public ClassInformation deserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    String description = null;//from w w w .  j  a v a2  s .com

    if (jp.hasCurrentToken()) {
        if (jp.getCurrentToken().equals(JsonToken.START_OBJECT)) {
            jp.nextValue();
            description = jp.getText();
            jp.nextToken();
        }
    }

    return description != null ? ClassInformation.parse(description) : null;
}

From source file:com.amazonaws.hal.client.HalJsonMapUnmarshaller.java

@Override
public Map<String, Object> unmarshall(JsonUnmarshallerContext context) throws Exception {
    Map<String, Object> map = new HashMap<>();
    JsonToken token = context.getCurrentToken();

    while (token != null && token != JsonToken.END_OBJECT) {
        if (token == JsonToken.FIELD_NAME) {
            String property = context.readText();

            token = context.nextToken();
            if (token == JsonToken.START_OBJECT) {
                context.nextToken();//from  w ww . java2 s . c o  m
                map.put(property, HalJsonMapUnmarshaller.getInstance().unmarshall(context));
            } else if (token == JsonToken.START_ARRAY) {
                context.nextToken();
                map.put(property, HalJsonListUnmarshaller.getInstance().unmarshall(context));
            } else {
                map.put(property, JsonUnmarshallerUtil.getObjectForToken(token, context));
            }
        }

        token = context.nextToken();
    }

    return map;
}

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);
            }//  ww  w .j a  v a2s . 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:io.apiman.manager.api.migrator.JsonDataMigratorReader.java

/**
 * @see io.apiman.manager.api.migrator.IDataMigratorReader#read(io.apiman.manager.api.migrator.IReaderHandler)
 *//*from  w w  w.j a  v  a2  s . co  m*/
@Override
public void read(IReaderHandler readerHandler) throws IOException {
    try {
        JsonToken current = jp.nextToken();

        if (current != JsonToken.START_OBJECT) {
            throw new IOException("Expected start object at root."); //$NON-NLS-1$
        }

        while (jp.nextToken() != JsonToken.END_OBJECT) {
            String name = jp.getCurrentName();
            current = jp.nextToken();

            if (name.equals("Metadata")) { //$NON-NLS-1$
                ObjectNode obj = readObjectNode();
                readerHandler.onMetaData(obj);
            } else if (name.equals("Gateways")) { //$NON-NLS-1$
                readArrayStart();
                while (jp.getCurrentToken() == JsonToken.START_OBJECT) {
                    ObjectNode obj = readObjectNode();
                    readerHandler.onGateway(obj);
                    jp.nextToken();
                }
            } else if (name.equals("Plugins")) { //$NON-NLS-1$
                readArrayStart();
                while (jp.getCurrentToken() == JsonToken.START_OBJECT) {
                    ObjectNode obj = readObjectNode();
                    readerHandler.onPlugin(obj);
                    jp.nextToken();
                }
            } else if (name.equals("Roles")) { //$NON-NLS-1$
                readArrayStart();
                while (jp.getCurrentToken() == JsonToken.START_OBJECT) {
                    ObjectNode obj = readObjectNode();
                    readerHandler.onRole(obj);
                    jp.nextToken();
                }
            } else if (name.equals("PolicyDefinitions")) { //$NON-NLS-1$
                readArrayStart();
                while (jp.getCurrentToken() == JsonToken.START_OBJECT) {
                    ObjectNode obj = readObjectNode();
                    readerHandler.onPolicyDefinition(obj);
                    jp.nextToken();
                }
            } else if (name.equals("Users")) { //$NON-NLS-1$
                readArrayStart();
                while (jp.getCurrentToken() == JsonToken.START_OBJECT) {
                    ObjectNode obj = readObjectNode();
                    readerHandler.onUser(obj);
                    jp.nextToken();
                }
            } else if (name.equals("Orgs")) { //$NON-NLS-1$
                readArrayStart();
                while (jp.getCurrentToken() == JsonToken.START_OBJECT) {
                    ObjectNode obj = readObjectNode();
                    readerHandler.onOrg(obj);
                    jp.nextToken();
                }
            }
        }
    } finally {
        IOUtils.closeQuietly(in);
    }
}

From source file:com.ikanow.aleph2.analytics.hadoop.services.BeJsonParser.java

@Override
public Tuple2<Long, IBatchRecord> getNextRecord(long currentFileIndex, String fileName, InputStream inStream) {
    Tuple2<Long, IBatchRecord> t2 = null;
    try {/*  w  ww . j  a v a 2 s  .  co m*/
        if (null == _factory) {
            _factory = _mapper.getFactory();
        }
        if (null == _parser) {
            _parser = _factory.createParser(inStream);
        }
        JsonToken token = _parser.nextToken();
        while ((token != JsonToken.START_OBJECT) && (token != null)) {
            token = _parser.nextToken();
        }
        if (null == token) {
            _parser = null;
            return null; //EOF
        }
        JsonNode node = _parser.readValueAsTree();

        t2 = new Tuple2<Long, IBatchRecord>(currentFileIndex, new BatchRecordUtils.BatchRecord(node, null));
        return t2;

    } catch (Exception e) {
        // (this can often happen as an EOF condition)s
        _parser = null;
        return null; //EOF
    }
}

From source file:org.apache.batchee.jackson.JacksonJsonReader.java

@Override
protected Object doRead() throws Exception {
    JsonToken token;//from   w w w.  j  av  a2 s . c  om
    do {
        token = parser.nextToken();
    } while ((token != JsonToken.START_OBJECT && token != end)
            || (end == null && (token == JsonToken.END_ARRAY || token == JsonToken.END_OBJECT)));

    if (clazz == null) {
        parser.readValueAsTree();
    }
    return parser.readValueAs(clazz);
}

From source file:no.ssb.jsonstat.v2.deser.DimensionDeserializer.java

@Override
public Dimension.Builder deserialize(JsonParser p, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    // Get the name first.
    String name = parseName(p, ctxt);

    if (p.getCurrentToken() == JsonToken.START_OBJECT) {
        p.nextToken();/*from w  ww  .jav a2s .co  m*/
    }

    Dimension.Builder dimension;
    dimension = Dimension.create(name);

    while (p.nextValue() != JsonToken.END_OBJECT) {
        switch (p.getCurrentName()) {
        case "category":
            parseCategory(dimension, p, ctxt);
            break;
        case "label":
            dimension.withLabel(parseLabel(p, ctxt));
            break;
        default:
            ctxt.handleUnknownProperty(p, this, Dimension.Builder.class, p.getCurrentName());
            break;
        }
    }

    return dimension;
}

From source file:org.debezium.core.doc.JacksonReader.java

private Document parseDocument(JsonParser parser, boolean nested) throws IOException {
    // Iterate over the fields in the top-level document ...
    BasicDocument doc = new BasicDocument();
    JsonToken token = null;/*from w  w w .  j  av a  2  s.  c  om*/
    if (!nested) {
        // We expect the START_OBJECT token ...
        token = parser.nextToken();
        if (!nested && token != JsonToken.START_OBJECT) {
            throw new IOException("Expected data to start with an Object, but was " + token);
        }
    }
    String fieldName = null;
    token = parser.nextToken();
    while (token != JsonToken.END_OBJECT) {
        switch (token) {
        case FIELD_NAME:
            fieldName = parser.getCurrentName();
            break;
        case START_OBJECT:
            doc.setDocument(fieldName, parseDocument(parser, true));
            break;
        case START_ARRAY:
            doc.setArray(fieldName, parseArray(parser));
            break;
        case VALUE_STRING:
            doc.setString(fieldName, parser.getValueAsString());
            break;
        case VALUE_TRUE:
            doc.setBoolean(fieldName, true);
            break;
        case VALUE_FALSE:
            doc.setBoolean(fieldName, false);
            break;
        case VALUE_NULL:
            doc.setNull(fieldName);
            break;
        case VALUE_NUMBER_FLOAT:
        case VALUE_NUMBER_INT:
            switch (parser.getNumberType()) {
            case FLOAT:
                doc.setNumber(fieldName, parser.getFloatValue());
                break;
            case DOUBLE:
                doc.setNumber(fieldName, parser.getDoubleValue());
                break;
            case BIG_DECIMAL:
                doc.setNumber(fieldName, parser.getDecimalValue());
                break;
            case INT:
                doc.setNumber(fieldName, parser.getIntValue());
                break;
            case LONG:
                doc.setNumber(fieldName, parser.getLongValue());
                break;
            case BIG_INTEGER:
                doc.setNumber(fieldName, parser.getBigIntegerValue());
                break;
            }
            break;
        case VALUE_EMBEDDED_OBJECT:
            // disregard this, since it's an extension ...
            break;
        case NOT_AVAILABLE:
            throw new JsonParseException("Non-blocking parsers are not supported", parser.getCurrentLocation());
        case END_ARRAY:
            throw new JsonParseException("Not expecting an END_ARRAY token", parser.getCurrentLocation());
        case END_OBJECT:
            throw new JsonParseException("Not expecting an END_OBJECT token", parser.getCurrentLocation());
        }
        token = parser.nextToken();
    }
    return doc;
}

From source file:org.talend.components.dataprep.connection.DataPrepStreamMapper.java

public boolean initIterator() throws IOException {
    boolean hasMetRecords = false;
    int level = 0;
    while (!hasMetRecords) {
        final JsonToken currentToken = jsonParser.nextToken();
        if (currentToken == null) {
            return false; // EOF
        }//from w w w .  j a v a2  s  . c om
        switch (currentToken) {
        case START_OBJECT:
            level++;
            break;
        case END_OBJECT:
            level--;
            break;
        case FIELD_NAME:
            if ("records".equals(jsonParser.getText()) && level == 1) {
                hasMetRecords = true;
            }
            break;
        }
    }
    // Create iterator to the records in "records" element
    if (hasMetRecords) {
        jsonParser.nextToken(); // Field
        jsonParser.nextToken(); // Start object
        if (jsonParser.getCurrentToken() == JsonToken.START_OBJECT) {
            this.iterator = objectMapper.readValues(jsonParser, new TypeReference<Map<String, String>>() {
            });
            return true;
        }
    }

    return false;
}