Example usage for com.fasterxml.jackson.core JsonParser nextToken

List of usage examples for com.fasterxml.jackson.core JsonParser nextToken

Introduction

In this page you can find the example usage for com.fasterxml.jackson.core JsonParser nextToken.

Prototype

public abstract JsonToken nextToken() throws IOException, JsonParseException;

Source Link

Document

Main iteration method, which will advance stream enough to determine type of the next token, if any.

Usage

From source file:javaslang.jackson.datatype.deserialize.EitherDeserializer.java

@Override
public Either<?, ?> deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
    boolean right = false;
    Object value = null;/*from  w w w  .  ja v  a  2  s  . c om*/
    int cnt = 0;

    for (JsonToken jsonToken = p.nextToken(); jsonToken != END_ARRAY; jsonToken = p.nextToken()) {
        cnt++;
        switch (cnt) {
        case 1:
            String def = (String) stringDeserializer.deserialize(p, ctxt);
            if ("right".equals(def)) {
                right = true;
            } else if ("left".equals(def)) {
                right = false;
            } else {
                throw ctxt.mappingException(javaType.getRawClass());
            }
            break;
        case 2:
            JsonDeserializer<?> deserializer = right ? deserializer(1) : deserializer(0);
            value = (jsonToken != VALUE_NULL) ? deserializer.deserialize(p, ctxt)
                    : deserializer.getNullValue(ctxt);
            break;
        }
    }
    if (cnt != 2) {
        throw ctxt.mappingException(javaType.getRawClass());
    }
    return right ? Either.right(value) : Either.left(value);
}

From source file:com.google.openrtb.json.AbstractOpenRtbJsonReader.java

/**
 * Special case for empty-string input. Returning null in non-@Nullable method,
 * but this is non-strict mode anyway.//  www.  j  av a  2 s . co  m
 */
protected final boolean emptyToNull(JsonParser par) throws IOException {
    JsonToken token = par.getCurrentToken();
    if (token == null) {
        token = par.nextToken();
    }
    return !factory().isStrict() && token == null;
}

From source file:com.msopentech.odatajclient.engine.data.metadata.edm.EntityKeyDeserializer.java

@Override
public EntityKey deserialize(final JsonParser jp, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {

    final EntityKey entityKey = new EntityKey();

    for (; jp.getCurrentToken() != JsonToken.END_OBJECT; jp.nextToken()) {
        final JsonToken token = jp.getCurrentToken();

        if (token == JsonToken.FIELD_NAME && "PropertyRef".equals(jp.getCurrentName())) {
            jp.nextToken();/*from  www.j av a2s .  c  o m*/
            entityKey.getPropertyRefs().add(jp.getCodec().readValue(jp, PropertyRef.class));
        }
    }

    return entityKey;
}

From source file:KV78Tester.java

public void checkStop(JsonParser jp, String line, int userStopOrder) throws JsonParseException, IOException {
    boolean hasTown = false, hasName = false;
    String timingPoint = "";
    while (jp.nextToken() != JsonToken.END_OBJECT) {
        String namefield = jp.getCurrentName();
        jp.nextToken();//  w ww  .  j  a va 2 s .  c o m
        if ("Town".equals(namefield)) {
            hasTown = true;
        }
        if ("Name".equals(namefield)) {
            hasName = true;
        }
        if ("TimingPointCode".equals(namefield)) {
            timingPoint = jp.getText();
        }
    }
    if (!hasTown && !hasName)
        System.out.println(String.format("Line %s misses townname and stopname for stopnumer %d, TPC %s", line,
                userStopOrder, timingPoint));
    else if (!hasTown)
        System.out.println(String.format("Line %s misses townname for stopnumer %d, TPC %s", line,
                userStopOrder, timingPoint));
    else if (!hasName)
        System.out.println(String.format("Line %s misses stopname for stopnumer %d, TPC %s", line,
                userStopOrder, timingPoint));
}

From source file:org.onosproject.north.aaa.api.parser.impl.RestAccessParser.java

public RestAccess jsonToRestAccess(JsonParser jp) throws IOException, ParseException {
    RestAccess.Builder builder = RestAccess.builder();

    while (true) {
        JsonToken token = jp.nextToken();

        if (JsonToken.END_OBJECT.equals(token)) {
            // bail out
            break;
        }//w  ww .  j  av a2  s.  c  o  m

        if (JsonToken.FIELD_NAME.equals(token) && "accessId".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildeAccessId(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "accessDesc".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildAccessDesc(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "restUri".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildRestUri(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "restMethod".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildRestMethod(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "restParam".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildRestParam(jp.getText());
        }
    }
    return builder.buildAll();
}

From source file:com.google.openrtb.json.Test2Reader.java

@Override
protected void read(Test2.Builder ext, JsonParser par) throws IOException {
    switch (getCurrentName(par)) {
    case "test2":
        ext.setTest2(par.nextTextValue());
        break;//from   w ww. j  av  a2s . c o  m
    case "test3":
        for (startArray(par); endArray(par); par.nextToken()) {
            ext.addTest3(par.getText());
        }
        break;
    }
}

From source file:org.onosproject.north.aaa.api.parser.impl.ScopeParser.java

public Scope jsonToScope(JsonParser jp) throws IOException, ParseException {
    Scope.Builder builder = Scope.builder();

    while (true) {
        JsonToken token = jp.nextToken();
        if (JsonToken.END_OBJECT.equals(token)) {
            // bail out
            break;
        }//from w  w  w  .  j  ava2s.  c  o m

        if (JsonToken.FIELD_NAME.equals(token) && "scopeId".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildScopeId(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "scopeDesc".equals(jp.getCurrentName())) {
            jp.nextToken();
            builder.buildScopeDesc(jp.getText());
        } else if (JsonToken.FIELD_NAME.equals(token) && "accesses".equals(jp.getCurrentName())) {
            token = jp.nextToken();
            if (!JsonToken.START_ARRAY.equals(token)) {
                // bail out
                throw new ParseException("expected ARRAY after accesses");
            }
            Set<String> accesses = new HashSet<>();

            while (true) {
                token = jp.nextToken();
                if (JsonToken.END_ARRAY.equals(token)) {
                    // bail out
                    break;
                }
                accesses.add(jp.getText());
            }
            builder.buildRestAccess(accesses);
        }
    }
    return builder.buildAll();
}

From source file:com.netflix.hollow.jsonadapter.HollowJsonAdapterPrimaryKeyFinder.java

public Object[] findKey(JsonParser parser) throws IOException {
    parser.nextToken();
    HollowObjectSchema schema = (HollowObjectSchema) hollowSchemas.get(typeName);
    addObject(parser, schema, new StringBuilder());
    return keyElementArray;
}

From source file:net.openhft.chronicle.wire.benchmarks.Data.java

public void readFrom(JsonParser parser) throws IOException {
    parser.nextToken();
    while (parser.nextToken() != JsonToken.END_OBJECT) {
        String fieldname = parser.getCurrentName();
        parser.nextToken();//from  www.  j a v  a  2 s. c  o  m
        switch (fieldname) {
        case "price":
            setPrice(parser.getDoubleValue());
            break;
        case "flag":
            flag = parser.getBooleanValue();
            break;
        case "text":
            setText(parser.getValueAsString());
            break;
        case "side":
            side = Side.valueOf(parser.getValueAsString());
            break;
        case "smallInt":
            smallInt = parser.getIntValue();
            break;
        case "longInt":
            longInt = parser.getLongValue();
            break;
        }
    }
}

From source file:org.labkey.freezerpro.export.FreezerProCommandResonse.java

/**
 * Parse the array of objects into a list of row maps
 * @param parser/*from  w  w  w.ja v a 2  s. c  o m*/
 * @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;
    }
}