@Override public String deserialize(JsonParser p, DeserializationContext ctxt) throws IOException if (p.hasToken(JsonToken.VALUE_STRING)) { return p.getText(); JsonToken t = p.getCurrentToken(); return ctxt.getBase64Variant().encode((byte[]) ob, false); if (t.isScalarValue()) { String text = p.getValueAsString(); if (text != null) { return (String) ctxt.handleUnexpectedToken(_valueClass, p);
private static Map<String, String> parseMap(JsonParser parser) throws JsonParseException, IOException { Map<String, String> map = new HashMap<>(); JsonToken token = parser.nextToken(); if (!JsonToken.START_OBJECT.equals(token)) { return map; } while (!parser.isClosed() && (token = parser.nextToken()) != null && token != JsonToken.END_OBJECT) { String name = parser.getCurrentName(); token = parser.nextToken(); String value = parser.getText(); map.put(name.toLowerCase(), value); } return map; }
@Override public StackTraceElement deserialize(JsonParser p, DeserializationContext ctxt) throws IOException JsonToken t = p.getCurrentToken(); int lineNumber = -1; while ((t = p.nextValue()) != JsonToken.END_OBJECT) { String propName = p.getCurrentName(); fileName = p.getText(); } else if ("lineNumber".equals(propName)) { if (t.isNumeric()) { lineNumber = p.getIntValue(); } else { } else if (t == JsonToken.START_ARRAY && ctxt.isEnabled(DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS)) { p.nextToken(); final StackTraceElement value = deserialize(p, ctxt); return (StackTraceElement) ctxt.handleUnexpectedToken(_valueClass, p);
@Override public String getText() throws IOException { if (_currToken == JsonToken.VALUE_STRING) { return _textValue; } if (_currToken == JsonToken.FIELD_NAME) { return _currentFieldName; } if (_currToken != null) { if (_currToken.isScalarValue()) { return _textValue; } return _currToken.asString(); } return null; }
protected final String _getText2(JsonToken t) { if (t == null) { return null; } switch (t.id()) { case ID_FIELD_NAME: return _parsingContext.getCurrentName(); case ID_STRING: // fall through case ID_NUMBER_INT: case ID_NUMBER_FLOAT: return _textBuffer.contentsAsString(); default: return t.asString(); } }
private void processTokenNormal(JsonToken token, List<TokenBuffer> result) throws IOException { this.tokenBuffer.copyCurrentEvent(this.parser); if ((token.isStructEnd() || token.isScalarValue()) && this.objectDepth == 0 && this.arrayDepth == 0) { result.add(this.tokenBuffer); this.tokenBuffer = new TokenBuffer(this.parser); } }
public List readJSonArr2List(List arrayTokens) throws IOException { JsonToken elem = input.nextToken(); while ( ! elem.isStructEnd() ) { if ( elem == JsonToken.VALUE_NUMBER_INT ) { arrayTokens.add(input.getLongValue()); } else if ( elem == JsonToken.VALUE_NUMBER_FLOAT ) { arrayTokens.add(input.getDoubleValue()); } else if ( elem == JsonToken.VALUE_TRUE ) { arrayTokens.add(true); } else if ( elem == JsonToken.VALUE_FALSE ) { arrayTokens.add(false); } else if ( elem == JsonToken.VALUE_NULL ) { arrayTokens.add(null); } else { arrayTokens.add(input.getText()); } elem = input.nextValue(); } return arrayTokens; }
throws IOException final Class<?> activeView = _needViewProcesing ? ctxt.getActiveView() : null; final ExternalTypeHandler ext = _externalTypeIdHandler.start(); for (JsonToken t = p.getCurrentToken(); t == JsonToken.FIELD_NAME; t = p.nextToken()) { String propName = p.getCurrentName(); t = p.nextToken(); SettableBeanProperty prop = _beanProperties.find(propName); if (prop != null) { // normal case if (t.isScalarValue()) { ext.handleTypePropertyValue(p, ctxt, propName, bean);
throws IOException switch (p.getCurrentTokenId()) { case JsonTokenId.ID_STRING: DateTimeZone tz = _format.isTimezoneExplicit() ? _format.getTimeZone() : DateTimeZone.forTimeZone(ctxt.getTimeZone()); return new LocalDateTime(p.getLongValue(), tz); LocalDateTime dt = null; do { if (!t.isNumeric()) { break; } if (!t.isNumeric()) { break; } if (!t.isNumeric()) { break; } if (!t.isNumeric()) { break; } if (!t.isNumeric()) { break; } if (!t.isNumeric()) { break; } if (t.isNumeric()) { // VALUE_NUMBER_INT return dt; throw ctxt.wrongTokenException(p, handledType(), JsonToken.END_ARRAY, "after LocalDateTime ints"); default:
private Unknown readUnknownObject() throws IOException { Unknown unk = new Unknown(); JsonToken elem = input.nextToken(); boolean expectField = true; String field = null; while ( ! elem.isStructEnd() ) { if ( expectField ) { field = input.getValueAsString(); expectField = false; } else { if ( elem == JsonToken.VALUE_NUMBER_INT ) { unk.set(field,input.getLongValue()); } else if ( elem == JsonToken.VALUE_NUMBER_FLOAT ) { unk.set(field,input.getDoubleValue());
while (!JsonToken.END_OBJECT.equals(jp.nextToken())) { if (!JsonToken.FIELD_NAME.equals(jp.getCurrentToken())) { throw new JsonParseException(jp, "Expected relation name"); relation = jp.getText(); if (JsonToken.START_ARRAY.equals(jp.nextToken())) { while (!JsonToken.END_ARRAY.equals(jp.nextToken())) { link = jp.readValueAs(Link.class); result.add(new Link(link.getHref(), relation)
throws IOException, JsonProcessingException { try { if (jsonParser.isExpectedStartArrayToken()) { T[] array = (T[]) jsonParser.readValueAs(TarrayClass); return classC .getConstructor(new Class<?>[] {TarrayClass}) JsonToken jsonToken = jsonParser.nextToken(); if (JsonToken.FIELD_NAME.equals(jsonToken)) { jsonToken = jsonParser.nextToken(); String message = jsonParser.getValueAsString();
@Override public StackTraceElement deserialize(final JsonParser jp, final DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken t = jp.getCurrentToken(); int lineNumber = -1; while ((t = jp.nextValue()) != JsonToken.END_OBJECT) { final String propName = jp.getCurrentName(); if ("class".equals(propName)) { className = jp.getText(); fileName = jp.getText(); } else if ("line".equals(propName)) { if (t.isNumeric()) { lineNumber = jp.getIntValue(); } else { throw ctxt.mappingException(_valueClass, t);
private void consumeEnd() { try { JsonToken jsonToken = input.nextToken(); if ( jsonToken == null ) return; if ( ! jsonToken.isStructEnd() ) { throw new RuntimeException("end of structure expected found:"+jsonToken+" : value:"+input.getValueAsString()+" fname:'"+input.getCurrentName()+"'"); } } catch (IOException e) { FSTUtil.<RuntimeException>rethrow(e); } }
lastReadDirectObject = null; lastDirectClass = null; JsonToken jsonToken = input.nextToken(); if ( jsonToken == JsonToken.END_OBJECT ) jsonToken = input.nextToken(); switch (jsonToken) { case VALUE_STRING: { lastReadDirectObject = input.getValueAsString(); return FSTObjectOutput.DIRECT_OBJECT; throw new RuntimeException("expected value attribute for object of type:"+type); if ( ! input.nextToken().isStructStart() ) { throw new RuntimeException("expected struct start"); throw new RuntimeException("expected value attribute for object of type:"+type); if ( ! input.nextToken().isStructStart() ) { throw new RuntimeException("expected array start");
if (p.canReadObjectId()) { Object id = p.getObjectId(); if (id != null) { Object ob = typeDeserializer.deserializeTypedFromObject(p, ctxt); return _handleTypedObjectId(p, ctxt, ob, id); JsonToken t = p.getCurrentToken(); if (t != null) { if (t.isScalarValue()) { return deserializeFromObjectId(p, ctxt); return typeDeserializer.deserializeTypedFromObject(p, ctxt);
@Override public Set<String> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken token = jp.getCurrentToken(); if (token.isScalarValue()) { String list = jp.getText(); list = list.replaceAll("\\s+", ","); return new LinkedHashSet<String>(Arrays.asList(StringUtils.commaDelimitedListToStringArray(list))); } return jp.readValueAs(new TypeReference<Set<String>>() { }); } }
JsonToken t = p.getCurrentToken(); if (t != null) { if (t.isScalarValue()) { return _deserializeFromObjectId(p, ctxt); t = p.nextToken(); && _objectIdReader.isValidReferencePropertyName(p.getCurrentName(), p)) { return _deserializeFromObjectId(p, ctxt); return result; return typeDeserializer.deserializeTypedFromObject(p, ctxt);
@Override public List<Object> deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { List<Object> result = new ArrayList<>(); JsonDeserializer<Object> deser = ctxt.findRootValueDeserializer(contentType); Object object; // links is an object, so we parse till we find its end. while (!JsonToken.END_OBJECT.equals(jp.nextToken())) { if (!JsonToken.FIELD_NAME.equals(jp.getCurrentToken())) { throw new JsonParseException(jp, "Expected relation name"); } if (JsonToken.START_ARRAY.equals(jp.nextToken())) { while (!JsonToken.END_ARRAY.equals(jp.nextToken())) { object = deser.deserialize(jp, ctxt); result.add(object); } } else { object = deser.deserialize(jp, ctxt); result.add(object); } } return result; }
@Override public BlobHierarchyListSegment deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { ArrayList<BlobItem> blobItems = new ArrayList<>(); ArrayList<BlobPrefix> blobPrefixes = new ArrayList<>(); JsonDeserializer<Object> blobItemDeserializer = ctxt.findRootValueDeserializer(ctxt.constructType(BlobItem.class)); JsonDeserializer<Object> blobPrefixDeserializer = ctxt.findRootValueDeserializer(ctxt.constructType(BlobPrefix.class)); for (JsonToken currentToken = p.nextToken(); !currentToken.name().equals("END_OBJECT"); currentToken = p.nextToken()) { // Get to the root element of the next item. p.nextToken(); if (p.getCurrentName().equals("Blob")) { blobItems.add((BlobItem)blobItemDeserializer.deserialize(p, ctxt)); } else if (p.getCurrentName().equals("BlobPrefix")) { blobPrefixes.add((BlobPrefix)blobPrefixDeserializer.deserialize(p, ctxt)); } } return new BlobHierarchyListSegment().withBlobItems(blobItems).withBlobPrefixes(blobPrefixes); } }