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

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

Introduction

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

Prototype

public abstract JsonToken getCurrentToken();

Source Link

Document

Accessor to find which token parser currently points to, if any; null will be returned if none.

Usage

From source file:com.cedarsoft.serialization.jackson.JacksonTest.java

@Test
public void testNull() throws Exception {
    generator.writeNull();//  w w  w  .j  ava 2  s. c  om
    verifyGenerator("null");

    JsonParser parser = jsonFactory.createJsonParser("null");
    assertEquals(null, parser.getCurrentToken());
    assertEquals(JsonToken.VALUE_NULL, parser.nextToken());
    assertEquals(null, parser.nextToken());
}

From source file:com.spotify.docker.client.jackson.UnixTimestampDeserializer.java

@Override
public Date deserialize(final JsonParser parser, final DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    final JsonToken token = parser.getCurrentToken();
    if (token == JsonToken.VALUE_STRING) {
        final String str = parser.getText().trim();
        return toDate(Long.parseLong(str));
    } else if (token == JsonToken.VALUE_NUMBER_INT) {
        return toDate(parser.getLongValue());
    }/*  w  w w .j av  a 2  s .c o  m*/
    throw ctxt.wrongTokenException(parser, JsonToken.VALUE_STRING, "Expected a string or numeric value");
}

From source file:com.basho.riak.client.raw.http.NamedJSFunctionDeserializer.java

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

    JsonToken token = jp.getCurrentToken();

    if (JsonToken.START_OBJECT.equals(token)) {

        String name = null;//from w ww. j a v  a 2s.c o m

        while (!JsonToken.END_OBJECT.equals(token)) {
            String field = jp.getCurrentName();

            if (Constants.FL_SCHEMA_FUN_NAME.equals(field)) {
                jp.nextToken();
                name = jp.getText();
            }
            token = jp.nextToken();
        }
        if (name != null) {
            return new NamedJSFunction(name);
        } else {
            return null;
        }
    }
    throw ctxt.mappingException(NamedJSFunction.class);
}

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.//from ww w  .  ja  v  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:cz.cvut.kbss.jsonld.jackson.deserialization.JacksonJsonLdDeserializer.java

private Object parseJsonObject(JsonParser parser) throws IOException {
    Object value = null;/*from www  . j  a  v  a  2  s.co  m*/
    final JsonToken initialToken = parser.getCurrentToken();
    parser.setCodec(mapper);
    if (initialToken == JsonToken.START_ARRAY) {
        value = parser.readValueAs(new TypeReference<List<?>>() {
        });
    } else if (initialToken == JsonToken.START_OBJECT) {
        value = parser.readValueAs(new TypeReference<Map<?, ?>>() {
        });
    } else if (initialToken == JsonToken.VALUE_STRING) {
        value = parser.readValueAs(String.class);
    } else if (initialToken == JsonToken.VALUE_FALSE || initialToken == JsonToken.VALUE_TRUE) {
        value = parser.readValueAs(Boolean.class);
    } else if (initialToken == JsonToken.VALUE_NUMBER_FLOAT || initialToken == JsonToken.VALUE_NUMBER_INT) {
        value = parser.readValueAs(Number.class);
    } else if (initialToken == JsonToken.VALUE_NULL) {
        value = null;
    }
    return value;
}

From source file:com.wavemaker.commons.json.deserializer.WMLocalDateTimeDeSerializer.java

@Override
public LocalDateTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
        throws IOException, JsonProcessingException {
    JsonToken currentToken = jsonParser.getCurrentToken();
    if (currentToken == JsonToken.VALUE_STRING) {
        String value = jsonParser.getText();
        return getLocalDateTime(value);
    }/*from   ww w. j  ava 2  s. c  o m*/
    throw new WMRuntimeException("Not a String value");
}

From source file:com.wavemaker.commons.json.deserializer.WMLocalTimeDeserializer.java

@Override
public LocalTime deserialize(JsonParser jsonParser, DeserializationContext deserializationContext)
        throws IOException, JsonProcessingException {
    JsonToken currentToken = jsonParser.getCurrentToken();
    if (currentToken == JsonToken.VALUE_STRING) {
        String value = jsonParser.getText();
        return getLocalDateTime(value);
    }//from   w ww  .ja v a2  s  . c  o m
    throw new WMRuntimeException("Not a String value");
}

From source file:com.tikinou.schedulesdirect.core.jackson.deser.BooleanYNDeserializer.java

@Override
public Boolean deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    JsonToken t = jp.getCurrentToken();
    if (t == JsonToken.VALUE_TRUE) {
        return Boolean.TRUE;
    }/*from  w  ww . j a  va 2 s  . c o  m*/
    if (t == JsonToken.VALUE_FALSE) {
        return Boolean.FALSE;
    }
    if (t == JsonToken.VALUE_NULL) {
        return null;
    }
    if (t == JsonToken.VALUE_NUMBER_INT) {
        return (jp.getIntValue() != 0);
    }
    if (t == JsonToken.VALUE_STRING) {
        String text = jp.getText().trim();
        if ("true".equals(text)) {
            return Boolean.TRUE;
        }
        if ("false".equals(text) || text.length() == 0) {
            return Boolean.FALSE;
        }

        if ("N".equalsIgnoreCase(text) || text.length() == 0) {
            return Boolean.FALSE;
        }

        if ("Y".equalsIgnoreCase(text)) {
            return Boolean.TRUE;
        }
        throw ctxt.weirdStringException(text, Boolean.class, "only \"true\" or \"false\" recognized");
    }
    // Otherwise, no can do:
    throw ctxt.mappingException(Boolean.class);
}

From source file:org.tanrabad.survey.service.json.MultiPolygonTypeConverter.java

private Location getLocation(JsonParser jsonParser) throws IOException {
    Location value3;//from  w ww.java 2s.  c  o  m
    if (jsonParser.getCurrentToken() == JsonToken.START_ARRAY) {
        ArrayList<Double> point = new ArrayList<>();
        while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
            Double coordinate;
            coordinate = jsonParser.getCurrentToken() == JsonToken.VALUE_NULL ? null
                    : jsonParser.getValueAsDouble();
            point.add(coordinate);
        }
        value3 = new Location(point.get(1), point.get(0));
    } else {
        value3 = null;
    }
    return value3;
}

From source file:com.basho.riak.client.raw.http.NamedErlangFunctionDeserializer.java

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

    JsonToken token = jp.getCurrentToken();

    if (JsonToken.START_OBJECT.equals(token)) {

        String mod = null;//from w  w w .  ja v a2 s  .co m
        String fun = null;

        while (!JsonToken.END_OBJECT.equals(token)) {
            String field = jp.getCurrentName();

            if (Constants.FL_SCHEMA_FUN_MOD.equals(field)) {
                jp.nextToken();
                mod = jp.getText();
            } else if (Constants.FL_SCHEMA_FUN_FUN.equals(field)) {
                jp.nextToken();
                fun = jp.getText();
            }
            token = jp.nextToken();
        }
        if (mod != null && fun != null) {
            return new NamedErlangFunction(mod, fun);
        } else {
            return null;
        }
    }
    throw ctxt.mappingException(NamedErlangFunction.class);
}