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

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

Introduction

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

Prototype

public abstract String getText() throws IOException, JsonParseException;

Source Link

Document

Method for accessing textual representation of the current token; if no current token (before first call to #nextToken , or after encountering end-of-input), returns null.

Usage

From source file:org.apache.usergrid.chop.api.RunnerDeserializer.java

@Override
public Runner deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException {
    RunnerBuilder builder = new RunnerBuilder();

    String tmp = jp.getText();
    validate(jp, tmp, "{");
    LOG.debug("First token is {}", tmp);

    jp.nextToken();//  ww w. ja va2  s.  c o m
    tmp = jp.getText();
    LOG.debug("Second token is {}", tmp);

    while (jp.hasCurrentToken()) {

        tmp = jp.getText();
        LOG.debug("Current token text = {}", tmp);

        if (tmp.equals("ipv4Address")) {
            jp.nextToken();
            builder.setIpv4Address(jp.getText());
        } else if (tmp.equals("hostname")) {
            jp.nextToken();
            builder.setHostname(jp.getText());
        } else if (tmp.equals("url")) {
            jp.nextToken();
            builder.setUrl(jp.getText());
        } else if (tmp.equals("serverPort")) {
            jp.nextToken();
            builder.setServerPort(jp.getValueAsInt());
        } else if (tmp.equals("tempDir")) {
            jp.nextToken();
            builder.setTempDir(jp.getText());
        }

        jp.nextToken();

        if (jp.getText().equals("}")) {
            break;
        }
    }

    return builder.getRunner();
}

From source file:org.springframework.data.convert.JsonBooleanDeserializer.java

@Override
public Boolean deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    JsonToken currentToken = jp.getCurrentToken();

    if (currentToken.equals(JsonToken.VALUE_STRING)) {
        String text = jp.getText().trim();

        if (YES.equalsIgnoreCase(text)) {
            return Boolean.TRUE;
        } else if (NO.equalsIgnoreCase(text)) {
            return Boolean.FALSE;
        }//  w  w w . j ava 2  s. c  o  m

        throw ctxt.weirdStringException(text, Boolean.class,
                "Only \"" + YES + "\" or \"" + NO + "\" values supported");
    } else if (currentToken.equals(JsonToken.VALUE_NULL)) {
        return getNullValue();
    }

    throw ctxt.mappingException(Boolean.class);
}

From source file:com.wealdtech.jackson.modules.DateTimeRangeDeserializer.java

@Override
  public Range<DateTime> deserialize(final JsonParser jp, final DeserializationContext deserializationContext)
          throws IOException {
      final String txt = jp.getText();
      if (txt == null) {
          return null;
      }// w w  w  .j a  v  a  2 s  . c o  m
      return deserialize(txt);
  }

From source file:eu.trentorise.opendata.jackan.ckan.CkanDateDeserializer.java

@Override
public ReadableDateTime deserialize(JsonParser jp, DeserializationContext ctxt)
        throws IOException, JsonProcessingException {
    JsonToken t = jp.getCurrentToken();/*from  w ww  .  ja  va2  s .  c  om*/

    if (t == JsonToken.VALUE_STRING) {
        String str = jp.getText().trim();
        if (NONE.equals(str)) {
            return null;
        }
    }

    return super.deserialize(jp, ctxt);
}

From source file:org.apache.lucene.server.handlers.AddDocumentHandler.java

/** Parse a Document using Jackson's streaming parser
 *  API.  The document should look like {indexName: 'foo',
 *  fields: {..., ...}} *///ww  w  .  j  a  v a2  s  .co m
public static Document parseDocument(IndexState state, JsonParser p) throws IOException {
    JsonToken token = p.nextToken();
    if (token == JsonToken.END_ARRAY) {
        // nocommit hackish.. caller should tell us this means "end"?
        return null;
    } else if (token != JsonToken.START_OBJECT) {
        throw new IllegalArgumentException("expected JSON Object");
    }

    final Document doc = new Document();
    while (true) {
        token = p.nextToken();
        if (token == JsonToken.END_OBJECT) {
            break;
        }
        assert token == JsonToken.FIELD_NAME : token;

        String fieldName = p.getText();
        if (fieldName.equals("fields")) {
            parseFields(state, doc, p);
        } else {
            // Let a plugin handle it:
            boolean handled = false;
            for (PostHandle postHandle : postHandlers) {
                if (postHandle.invoke(state, fieldName, p, doc)) {
                    handled = true;
                    break;
                }
            }

            if (!handled) {
                throw new IllegalArgumentException("unrecognized field " + p.getText());
            }
        }

        // nocommit need test that same field name can't
        // appear more than once?  app must put all values for
        // a given field into an array (for a multi-valued
        // field) 
    }

    return doc;
}

From source file:com.cedarsoft.serialization.serializers.jackson.DateTimeZoneSerializer.java

@Nonnull
@Override//from  w  w w  .ja v  a 2 s  .com
public DateTimeZone deserialize(@Nonnull JsonParser deserializeFrom, @Nonnull Version formatVersion)
        throws VersionException, IOException, JsonProcessingException {
    verifyVersionReadable(formatVersion);

    String id = deserializeFrom.getText();
    //Constructing the deserialized object
    return DateTimeZone.forID(id);
}

From source file:org.elasticsoftware.elasticactors.base.serialization.JacksonActorRefDeserializer.java

@Override
public ActorRef deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    JsonToken curr = jp.getCurrentToken();
    // Usually should just get string value:
    if (curr == JsonToken.VALUE_STRING) {
        return actorRefFactory.create(jp.getText());
    }/*  w ww  . ja  v  a  2 s . c o m*/
    throw ctxt.mappingException(_valueClass, curr);
}

From source file:org.elasticsoftware.elasticactors.geoevents.serialization.JacksonGeoHashDeserializer.java

@Override
public GeoHash deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException {
    JsonToken curr = jp.getCurrentToken();
    // Usually should just get string value:
    if (curr == JsonToken.VALUE_STRING) {
        return GeoHash.fromGeohashString(jp.getText());
    }//from   ww  w . j a v  a  2  s. c o  m
    throw ctxt.mappingException(_valueClass, curr);
}

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

private void assertNextField(String expFieldName, JsonParser p) throws IOException {
    assertEquals(JsonToken.FIELD_NAME, p.nextToken());
    assertEquals(expFieldName, p.getText());
}