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

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

Introduction

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

Prototype

public abstract char[] getTextCharacters() throws IOException, JsonParseException;

Source Link

Document

Method similar to #getText , but that will return underlying (unmodifiable) character array that contains textual value, instead of constructing a String object to contain this information.

Usage

From source file:org.oscim.tiling.source.geojson.GeoJsonTileDecoder.java

private final static boolean match(JsonParser jp, char[] fieldName) throws JsonParseException, IOException {

    int length = jp.getTextLength();
    if (length != fieldName.length)
        return false;

    char[] val = jp.getTextCharacters();
    int offset = jp.getTextOffset();

    for (int i = 0; i < length; i++) {
        if (fieldName[i] != val[i + offset])
            return false;
    }//w ww  .  ja  va  2 s .c o  m

    return true;
}

From source file:org.oscim.tiling.source.geojson.GeoJsonTileDecoder.java

private void parseCoordinate(JsonParser jp) throws JsonParseException, IOException {
    int pos = 0;//from w ww  .jav a 2 s .  c o  m
    double x = 0, y = 0; //, z = 0;

    for (JsonToken t; (t = jp.nextToken()) != null;) {
        if (t == VALUE_NUMBER_FLOAT || t == VALUE_NUMBER_INT) {

            // avoid String allocation (by getDouble...)
            char[] val = jp.getTextCharacters();
            int offset = jp.getTextOffset();
            int length = jp.getTextLength();
            double c = ArrayUtils.parseNumber(val, offset, offset + length);

            if (pos == 0)
                x = c;
            if (pos == 1)
                y = c;
            //if (pos == 2)
            //z = c;

            pos++;
            continue;
        }

        if (t == END_ARRAY)
            break;
    }

    mMapElement.addPoint((float) ((longitudeToX(x) - mTileX) * mTileScale),
            (float) ((latitudeToY(y) - mTileY) * mTileScale));

}

From source file:org.mongojack.internal.object.BsonObjectGenerator.java

@Override
public void copyCurrentEvent(JsonParser jp) throws IOException {
    JsonToken t = jp.getCurrentToken();//from   w  ww . j  av  a 2 s  . c  o m
    switch (t) {
    case START_OBJECT:
        writeStartObject();
        break;
    case END_OBJECT:
        writeEndObject();
        break;
    case START_ARRAY:
        writeStartArray();
        break;
    case END_ARRAY:
        writeEndArray();
        break;
    case FIELD_NAME:
        writeFieldName(jp.getCurrentName());
        break;
    case VALUE_STRING:
        if (jp.hasTextCharacters()) {
            writeString(jp.getTextCharacters(), jp.getTextOffset(), jp.getTextLength());
        } else {
            writeString(jp.getText());
        }
        break;
    case VALUE_NUMBER_INT:
        switch (jp.getNumberType()) {
        case INT:
            writeNumber(jp.getIntValue());
            break;
        case BIG_INTEGER:
            writeNumber(jp.getBigIntegerValue());
            break;
        default:
            writeNumber(jp.getLongValue());
        }
        break;
    case VALUE_NUMBER_FLOAT:
        switch (jp.getNumberType()) {
        case BIG_DECIMAL:
            writeNumber(jp.getDecimalValue());
            break;
        case FLOAT:
            writeNumber(jp.getFloatValue());
            break;
        default:
            writeNumber(jp.getDoubleValue());
        }
        break;
    case VALUE_TRUE:
        writeBoolean(true);
        break;
    case VALUE_FALSE:
        writeBoolean(false);
        break;
    case VALUE_NULL:
        writeNull();
        break;
    case VALUE_EMBEDDED_OBJECT:
        writeObject(jp.getEmbeddedObject());
        break;
    }
}

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

protected void readNativeField(JsonParser par, Native.Builder nativ, String fieldName) throws IOException {
    switch (fieldName) {
    case "request":
        if (par.getCurrentToken() == JsonToken.VALUE_STRING) {
            nativ.setRequestNative(factory().newNativeReader().readNativeRequest(
                    new CharArrayReader(par.getTextCharacters(), par.getTextOffset(), par.getTextLength())));
        } else { // Object
            nativ.setRequestNative(factory().newNativeReader().readNativeRequest(par));
        }//from   ww  w  . java 2  s  . c om
        break;
    case "ver":
        nativ.setVer(par.getText());
        break;
    case "api":
        for (startArray(par); endArray(par); par.nextToken()) {
            APIFramework value = APIFramework.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                nativ.addApi(value);
            }
        }
        break;
    case "battr":
        for (startArray(par); endArray(par); par.nextToken()) {
            CreativeAttribute value = CreativeAttribute.valueOf(par.getIntValue());
            if (checkEnum(value)) {
                nativ.addBattr(value);
            }
        }
        break;
    default:
        readOther(nativ, par, fieldName);
    }
}