Refine search
p.nextToken(); Object value1 = deserialize(p, ctxt); String key2 = p.nextFieldName(); if (key2 == null) { // single entry; but we want modifiable LinkedHashMap<String, Object> result = new LinkedHashMap<String, Object>(2); return result; p.nextToken(); Object value2 = deserialize(p, ctxt); String key = p.nextFieldName(); if (key == null) { LinkedHashMap<String, Object> result = new LinkedHashMap<String, Object>(4); result.put(key2, value2); do { p.nextToken(); result.put(key, deserialize(p, ctxt)); } while ((key = p.nextFieldName()) != null); return result;
protected Object mapObject(JsonParser p, DeserializationContext ctxt, Map<Object,Object> m) throws IOException { JsonToken t = p.getCurrentToken(); if (t == JsonToken.START_OBJECT) { t = p.nextToken(); } if (t == JsonToken.END_OBJECT) { return m; } // NOTE: we are guaranteed to point to FIELD_NAME String key = p.getCurrentName(); do { p.nextToken(); // and possibly recursive merge here Object old = m.get(key); Object newV; if (old != null) { newV = deserialize(p, ctxt, old); } else { newV = deserialize(p, ctxt); } if (newV != old) { m.put(key, newV); } } while ((key = p.nextFieldName()) != null); return m; }
key1 = p.nextFieldName(); } else if (t == JsonToken.FIELD_NAME) { key1 = p.getCurrentName(); p.nextToken(); Object value1 = deserialize(p, ctxt); String key2 = p.nextFieldName(); if (key2 == null) { // has to be END_OBJECT, then return result; p.nextToken(); Object value2 = deserialize(p, ctxt); String key = p.nextFieldName(); p.nextToken(); result.put(key, deserialize(p, ctxt)); } while ((key = p.nextFieldName()) != null); return result;
public T processJsonObject(JsonParser jsonParser) throws IOException { while (!jsonParser.nextFieldName(fieldName)) { if (!jsonParser.hasCurrentToken()) { throw new JsonParseException(jsonParser, "Unexpected end of object"); } if (jsonParser.getCurrentToken() == END_OBJECT) { // Unable to find matching field return null; } jsonParser.skipChildren(); // Skip nested structure if currently at the start of one } jsonParser.nextToken(); // Shift to first token of the value return delegate.extract(jsonParser); }
@Override public Object readArrayHeader() throws Exception { if ( lastDirectClass == null ) { JsonToken jsonToken = input.nextToken(); String type = null; if ( jsonToken == JsonToken.START_ARRAY ) { return null; } else { jsonToken = input.nextToken(); // seqType if ( fieldNames.TYPE.equals(input.getText())) { String valueTag = input.nextFieldName(); if ( !fieldNames.OBJ.equals(valueTag) ) { throw new RuntimeException("expected value attribute for object of type:"+type); input.nextToken(); System.out.println(">" + input.getCurrentToken()+" "+input.getText()); input.nextToken();
case JsonTokenId.ID_START_OBJECT: JsonToken t = p.nextToken(); // to get to FIELD_NAME or END_OBJECT if (t == JsonToken.END_OBJECT) { return intoValue; p.nextToken(); m.put(key, newV); } while ((key = p.nextFieldName()) != null); return intoValue; case JsonTokenId.ID_START_ARRAY: JsonToken t = p.nextToken(); // to get to FIELD_NAME or END_OBJECT if (t == JsonToken.END_ARRAY) { return intoValue;
key = p.nextFieldName(); } else { JsonToken t = p.getCurrentToken(); for (; key != null; key = p.nextFieldName()) { JsonToken t = p.nextToken(); if (_ignorableProperties != null && _ignorableProperties.contains(key)) { p.skipChildren();
@Override public Object readArrayHeader() throws Exception { if ( lastDirectClass == null ) { JsonToken jsonToken = input.nextToken(); String type = null; if ( jsonToken == JsonToken.START_ARRAY ) { return null; } else { jsonToken = input.nextToken(); // seqType if ( fieldNames.TYPE.equals(input.getText())) { String valueTag = input.nextFieldName(); if ( !fieldNames.OBJ.equals(valueTag) ) { throw new RuntimeException("expected value attribute for object of type:"+type); input.nextToken(); System.out.println(">" + input.getCurrentToken()+" "+input.getText()); input.nextToken();
keyStr = p.nextFieldName(); } else { JsonToken t = p.getCurrentToken(); for (; keyStr != null; keyStr = p.nextFieldName()) { Object key = keyDes.deserializeKey(keyStr, ctxt); JsonToken t = p.nextToken(); if (_ignorableProperties != null && _ignorableProperties.contains(keyStr)) { p.skipChildren();
String typeTag = input.nextFieldName(); if ( typeTag.equals(fieldNames.TYPE) ) { String valueTag = input.nextFieldName(); if ( ! fieldNames.OBJ.equals(valueTag) ) { throw new RuntimeException("expected value attribute for object of type:"+type); if ( ! input.nextToken().isStructStart() ) { throw new RuntimeException("expected struct start"); try { lastDirectClass = classForName(conf.getClassForCPName(type)); String valueTag = input.nextFieldName(); if ( ! fieldNames.SEQ.equals(valueTag) ) { throw new RuntimeException("expected value attribute for object of type:"+type); String clName = input.nextTextValue(); Class aClass = classForName(conf.getClassForCPName(clName)); String valueTag = input.nextFieldName(); if ( ! fieldNames.VAL.equals(valueTag) ) { throw new RuntimeException("expected value attribute for enum of type:"+clName);
protected final Object deserializeWithView(JsonParser p, DeserializationContext ctxt, Object bean, Class<?> activeView) throws IOException { if (p.hasTokenId(JsonTokenId.ID_FIELD_NAME)) { String propName = p.getCurrentName(); do { p.nextToken(); // TODO: 06-Jan-2015, tatu: try streamlining call sequences here as well SettableBeanProperty prop = _beanProperties.find(propName); if (prop != null) { if (!prop.visibleInView(activeView)) { p.skipChildren(); continue; } try { prop.deserializeAndSet(p, ctxt, bean); } catch (Exception e) { wrapAndThrow(e, bean, propName, ctxt); } continue; } handleUnknownVanilla(p, ctxt, bean, propName); } while ((propName = p.nextFieldName()) != null); } return bean; }
/** * Streamlined version that is only used when no "special" * features are enabled. */ private final Object vanillaDeserialize(JsonParser p, DeserializationContext ctxt, JsonToken t) throws IOException { final Object bean = _valueInstantiator.createUsingDefault(ctxt); // [databind#631]: Assign current value, to be accessible by custom serializers p.setCurrentValue(bean); if (p.hasTokenId(JsonTokenId.ID_FIELD_NAME)) { String propName = p.getCurrentName(); do { p.nextToken(); SettableBeanProperty prop = _beanProperties.find(propName); if (prop != null) { // normal case try { prop.deserializeAndSet(p, ctxt, bean); } catch (Exception e) { wrapAndThrow(e, bean, propName, ctxt); } continue; } handleUnknownVanilla(p, ctxt, bean, propName); } while ((propName = p.nextFieldName()) != null); } return bean; }
key = p.nextFieldName(); } else { JsonToken t = p.getCurrentToken(); for (; key != null; key = p.nextFieldName()) { JsonToken t = p.nextToken(); if (_ignorableProperties != null && _ignorableProperties.contains(key)) { p.skipChildren();
keyStr = p.nextFieldName(); } else { JsonToken t = p.getCurrentToken(); for (; keyStr != null; keyStr = p.nextFieldName()) { JsonToken t = p.nextToken(); if (key == null) { if (!ctxt.isEnabled(DeserializationFeature.READ_UNKNOWN_ENUM_VALUES_AS_NULL)) {
keyStr = p.nextFieldName(); } else { JsonToken t = p.getCurrentToken(); for (; keyStr != null; keyStr = p.nextFieldName()) { Object key = keyDes.deserializeKey(keyStr, ctxt); JsonToken t = p.nextToken(); if (_ignorableProperties != null && _ignorableProperties.contains(keyStr)) { p.skipChildren();
String key = p.nextFieldName(); for (; key != null; key = p.nextFieldName()) { JsonNode value; JsonToken t = p.nextToken(); if (t == null) { // can this ever occur?
JsonToken current = jp.getCurrentToken(); if (current == JsonToken.START_OBJECT) { current = jp.nextToken(); key = jp.getCurrentName(); } else { key = jp.nextFieldName(); for (; key != null; key = jp.nextFieldName()) { JsonToken t = jp.nextToken(); // to get to value final Collection<FieldEntry> fields = mappings.get(key); if (fields.isEmpty()) {
key = p.nextFieldName(); } else { if (!p.hasToken(JsonToken.FIELD_NAME)) { for (; key != null; key = p.nextFieldName()) { JsonToken t = p.nextToken();
propName = p.nextFieldName(); if (propName == null) { return bean; p.nextToken(); SettableBeanProperty prop = _beanProperties.find(propName); } while ((propName = p.nextFieldName()) != null); return bean;
String typeTag = input.nextFieldName(); if ( typeTag.equals(fieldNames.TYPE) ) { String valueTag = input.nextFieldName(); if ( ! fieldNames.OBJ.equals(valueTag) ) { throw new RuntimeException("expected value attribute for object of type:"+type); if ( ! input.nextToken().isStructStart() ) { throw new RuntimeException("expected struct start"); try { lastDirectClass = classForName(conf.getClassForCPName(type)); String valueTag = input.nextFieldName(); if ( ! fieldNames.SEQ.equals(valueTag) ) { throw new RuntimeException("expected value attribute for object of type:"+type); String clName = input.nextTextValue(); Class aClass = classForName(conf.getClassForCPName(clName)); String valueTag = input.nextFieldName(); if ( ! fieldNames.VAL.equals(valueTag) ) { throw new RuntimeException("expected value attribute for enum of type:"+clName);