List of usage examples for com.fasterxml.jackson.core JsonParser getTextOffset
public abstract int getTextOffset() throws IOException, JsonParseException;
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.j a v a 2s . com*/ return true; }
From source file:org.oscim.tiling.source.geojson.GeoJsonTileDecoder.java
private void parseCoordinate(JsonParser jp) throws JsonParseException, IOException { int pos = 0;//from ww w.ja v a 2 s . co 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. ja v a2 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)); }/*www. j a va 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); } }