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

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

Introduction

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

Prototype

JsonToken VALUE_STRING

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

Click Source Link

Document

VALUE_STRING is returned when a String token is encountered in value context (array element, field value, or root-level stand-alone value)

Usage

From source file:com.addthis.codec.config.ConfigNodeCursor.java

static JsonToken forConfigValue(ConfigValue configValue) {
    ConfigValueType valueType = configValue.valueType();
    switch (valueType) {
    case NUMBER://from   w ww  .j a va  2 s. com
        if (configValue.unwrapped() instanceof Double) {
            return JsonToken.VALUE_NUMBER_FLOAT;
        } else {
            return JsonToken.VALUE_NUMBER_INT;
        }
    case BOOLEAN:
        if (configValue.unwrapped().equals(Boolean.TRUE)) {
            return JsonToken.VALUE_TRUE;
        } else {
            return JsonToken.VALUE_FALSE;
        }
    case NULL:
        return JsonToken.VALUE_NULL;
    case STRING:
        return JsonToken.VALUE_STRING;
    case OBJECT:
        return JsonToken.START_OBJECT;
    case LIST:
        return JsonToken.START_ARRAY;
    default:
        // not possible unless the set of enums changes on us later
        throw new IllegalArgumentException(valueType.name() + " is not a supported ConfigValueType");
    }
}

From source file:com.turn.shapeshifter.NamedSchemaSerializerTest.java

@Test
public void testSerialize() throws Exception {
    NamedSchema schema = NamedSchema.of(Union.getDescriptor(), "Union").addConstant("kind",
            "shapeshifter.Union");
    SchemaRegistry registry = new SchemaRegistry();
    registry.register(schema);/*ww w . ja  v a 2s .co  m*/
    Union union = Union.newBuilder().setBoolValue(true).setEnumValue(SomeEnum.FIRST).setInt32Value(42)
            .setInt64Value(42L).setStringValue("text").build();
    JsonNode result = new NamedSchemaSerializer(schema).serialize(union, registry);

    Assert.assertTrue(result.isObject());
    Assert.assertEquals(JsonToken.VALUE_STRING, result.get("kind").asToken());
    Assert.assertEquals("shapeshifter.Union", result.get("kind").asText());
    Assert.assertEquals(JsonToken.VALUE_TRUE, result.get("boolValue").asToken());
    Assert.assertEquals(true, result.get("boolValue").asBoolean());
    Assert.assertEquals(JsonToken.VALUE_STRING, result.get("enumValue").asToken());
    Assert.assertEquals("first", result.get("enumValue").asText());
    Assert.assertEquals(JsonToken.VALUE_NUMBER_INT, result.get("int32Value").asToken());
    Assert.assertEquals(42, result.get("int32Value").asInt());
    Assert.assertEquals(JsonToken.VALUE_NUMBER_INT, result.get("int64Value").asToken());
    Assert.assertEquals(42, result.get("int64Value").asInt());
    Assert.assertEquals(JsonToken.VALUE_STRING, result.get("stringValue").asToken());
    Assert.assertEquals("text", result.get("stringValue").asText());
}

From source file:com.sdl.odata.unmarshaller.json.JsonLinkUnmarshaller.java

@Override
protected String getToEntityId(ODataRequestContext requestContext) throws ODataUnmarshallingException {
    // The body is expected to contain a single entity reference
    // See OData JSON specification chapter 13

    String bodyText;/* w ww. j  ava2  s .c o m*/
    try {
        bodyText = requestContext.getRequest().getBodyText(StandardCharsets.UTF_8.name());
    } catch (UnsupportedEncodingException e) {
        throw new ODataSystemException("UTF-8 is not supported", e);
    }

    String idValue = null;
    try {
        JsonParser parser = new JsonFactory().createParser(bodyText);
        while (idValue == null && !parser.isClosed()) {
            JsonToken token = parser.nextToken();
            if (token == null) {
                break;
            }

            if (token.equals(JsonToken.FIELD_NAME) && parser.getCurrentName().equals(JsonConstants.ID)) {
                token = parser.nextToken();
                if (token.equals(JsonToken.VALUE_STRING)) {
                    idValue = parser.getText();
                }
            }
        }
    } catch (IOException e) {
        throw new ODataUnmarshallingException("Error while parsing JSON data", e);
    }

    if (isNullOrEmpty(idValue)) {
        throw new ODataUnmarshallingException("The JSON object in the body has no '@odata.id' value,"
                + " or the value is empty. The JSON object in the body must have an '@odata.id' value"
                + " that refers to the entity to link to.");
    }

    return idValue;
}

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  w w.  j ava  2 s  .  com
            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.cedarsoft.serialization.jackson.test.compatible.JacksonCompatibleTest.java

@Test
public void testReadCompatible() throws Exception {
    JsonParser parser = jsonFactory.createJsonParser(getClass().getResource("simple.json"));

    JacksonParserWrapper wrapper = new JacksonParserWrapper(parser);
    wrapper.startObject();// w  w w . j a  v  a  2s  .c  o  m
    wrapper.nextField("street");

    assertThat(parser.getText()).isEqualTo("street");
    assertThat(parser.nextToken()).isEqualTo(JsonToken.VALUE_STRING);
    assertThat(parser.getText()).isEqualTo("Schlossalle");

    wrapper.nextField("number");

    assertThat(parser.nextToken()).isEqualTo(JsonToken.VALUE_NUMBER_INT);
    assertThat(parser.getValueAsInt()).isEqualTo(7);

    assertThat(parser.nextToken()).isEqualTo(JsonToken.END_OBJECT);

    wrapper.ensureObjectClosed();
}

From source file:com.turn.shapeshifter.AutoSerializerTest.java

@Test
public void testSerializeWithRepeatedObject() throws Exception {
    Movie movie = Movie.newBuilder().setTitle("Rebel Without A Cause").setYear(1955).build();
    Actor actor = Actor.newBuilder().setName("James Dean").addMovies(movie).build();

    JsonNode result = new AutoSerializer(Actor.getDescriptor()).serialize(actor, ReadableSchemaRegistry.EMPTY);

    Assert.assertTrue(result.isObject());
    Assert.assertEquals(JsonToken.VALUE_STRING, result.get("name").asToken());
    Assert.assertEquals("James Dean", result.get("name").asText());

    JsonNode array = result.get("movies");
    Assert.assertTrue(array.isArray());/*w w w  .  ja  va 2 s .co m*/
    Assert.assertEquals(1, array.size());

    JsonNode movieNode = array.get(0);
    Assert.assertEquals(JsonToken.VALUE_STRING, movieNode.get("title").asToken());
    Assert.assertEquals("Rebel Without A Cause", movieNode.get("title").asText());
    Assert.assertEquals(JsonToken.VALUE_NUMBER_INT, movieNode.get("year").asToken());
    Assert.assertEquals(1955, movieNode.get("year").asInt());
}

From source file:com.cedarsoft.serialization.jackson.test.RoleSerializer.java

@Nonnull
@Override//w w w.j  a v a  2s  .com
public Role deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion)
        throws IOException, VersionException, JsonProcessingException {
    int id = -1;
    String description = null;

    JacksonParserWrapper parser = new JacksonParserWrapper(deserializeFrom);

    while (parser.nextToken() == JsonToken.FIELD_NAME) {
        String currentName = parser.getCurrentName();

        if (currentName.equals(PROPERTY_ID)) {
            parser.nextToken(JsonToken.VALUE_NUMBER_INT);
            id = parser.getIntValue();
            continue;
        }

        if (currentName.equals(PROPERTY_DESCRIPTION)) {
            parser.nextToken(JsonToken.VALUE_STRING);
            description = parser.getText();
            continue;
        }

        throw new IllegalStateException("Unexpected field reached <" + currentName + ">");
    }

    //Verify
    parser.verifyDeserialized(id, PROPERTY_ID);
    parser.verifyDeserialized(description, PROPERTY_DESCRIPTION);
    assert description != null;

    parser.verifyCurrentToken(JsonToken.END_OBJECT);
    return new Role(id, description);
}

From source file:com.cinnober.msgcodec.json.TypeScannerJsonParser.java

private String findTypeInDelegate() throws IOException {
    boolean next = false;
    for (;;) {/*from w w  w. j a v  a  2  s.  c o  m*/
        JsonToken token = next ? p.nextToken() : p.getCurrentToken();
        next = true;
        switch (token) {
        case FIELD_NAME:
            if (p.getText().equals(TYPE_FIELD)) {
                if (p.nextToken() != JsonToken.VALUE_STRING) {
                    throw new DecodeException("Expected string value for field '" + TYPE_FIELD + "'");
                }
                return p.getText();
            } else {
                tokens.add(new ValueToken(JsonToken.FIELD_NAME, p.getText()));
                p.nextToken(); // consume field
                parseValue();
            }
            break;
        case END_OBJECT:
            throw new DecodeException("Reached end of object. Field '" + TYPE_FIELD + "' not found");
        default:
            throw new DecodeException("Unexpected JSON token " + token);
        }
    }
}

From source file:name.gumartinm.weather.information.parser.JPOSCurrentParser.java

private void getCurrentWeatherData(final Current currentWeatherData, 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.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname);
            }// w  w w . j  a v a 2 s. c  om
            if (nextToken == JsonToken.START_ARRAY) {
                JsonToken tokenNext = jParser.nextToken();
                while (tokenNext != JsonToken.END_ARRAY) {
                    if (tokenNext == JsonToken.START_OBJECT) {
                        this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname);
                    }
                    tokenNext = jParser.nextToken();
                }
            }
            if ((nextToken == JsonToken.VALUE_NUMBER_INT) || (nextToken == JsonToken.VALUE_STRING)) {
                this.getCurrentWeatherDataObjects(currentWeatherData, jParser, fieldname);
            }
        }
    }
}

From source file:com.cedarsoft.couchdb.io.ActionFailedExceptionSerializer.java

@Nonnull
public ActionFailedException deserialize(int status, @Nonnull InputStream in)
        throws VersionException, IOException {
    try (MaxLengthByteArrayOutputStream teedOut = new MaxLengthByteArrayOutputStream();
            TeeInputStream teeInputStream = new TeeInputStream(in, teedOut)) {

        JsonFactory jsonFactory = JacksonSupport.getJsonFactory();

        JsonParser parser = jsonFactory.createJsonParser(teeInputStream);
        JacksonParserWrapper parserWrapper = new JacksonParserWrapper(parser);

        parserWrapper.nextToken(JsonToken.START_OBJECT);

        String error = null;/*ww w.  j a  v  a2 s  . c  o m*/
        String reason = null;

        while (parser.nextToken() == JsonToken.FIELD_NAME) {
            String currentName = parser.getCurrentName();

            if (currentName.equals(PROPERTY_ERROR)) {
                parserWrapper.nextToken(JsonToken.VALUE_STRING);
                error = parser.getText();
                continue;
            }

            if (currentName.equals(PROPERTY_REASON)) {
                parserWrapper.nextToken(JsonToken.VALUE_STRING);
                reason = parser.getText();
                continue;
            }

            throw new IllegalStateException("Unexpected field reached <" + currentName + ">");
        }

        parserWrapper.verifyDeserialized(error, PROPERTY_ERROR);
        parserWrapper.verifyDeserialized(reason, PROPERTY_REASON);
        assert reason != null;
        assert error != null;

        parserWrapper.ensureObjectClosed();

        return new ActionFailedException(status, error, reason, teedOut.toByteArray());
    }
}