List of usage examples for com.fasterxml.jackson.core JsonToken VALUE_NULL
JsonToken VALUE_NULL
To view the source code for com.fasterxml.jackson.core JsonToken VALUE_NULL.
Click Source Link
From source file:com.tikinou.schedulesdirect.core.jackson.deser.BooleanYNDeserializer.java
@Override public Boolean deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken t = jp.getCurrentToken();/*from w w w . j a v a 2 s . c o m*/ if (t == JsonToken.VALUE_TRUE) { return Boolean.TRUE; } if (t == JsonToken.VALUE_FALSE) { return Boolean.FALSE; } if (t == JsonToken.VALUE_NULL) { return null; } if (t == JsonToken.VALUE_NUMBER_INT) { return (jp.getIntValue() != 0); } if (t == JsonToken.VALUE_STRING) { String text = jp.getText().trim(); if ("true".equals(text)) { return Boolean.TRUE; } if ("false".equals(text) || text.length() == 0) { return Boolean.FALSE; } if ("N".equalsIgnoreCase(text) || text.length() == 0) { return Boolean.FALSE; } if ("Y".equalsIgnoreCase(text)) { return Boolean.TRUE; } throw ctxt.weirdStringException(text, Boolean.class, "only \"true\" or \"false\" recognized"); } // Otherwise, no can do: throw ctxt.mappingException(Boolean.class); }
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; }/*from w w w.j av a 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:org.nuxeo.client.test.marshallers.DocumentMarshaller.java
protected static Document readDocument(JsonParser jp) throws IOException { String uid = null;/* ww w.j a va 2s . c o m*/ String type = null; String path = null; String state = null; String versionLabel = null; String isCheckedOut = null; String lockCreated = null; String lockOwner = null; String repository = null; String changeToken = null; boolean isProxy = false; JsonToken tok = jp.nextToken(); Map<String, Object> properties = new HashMap<>(); while (tok != null && tok != JsonToken.END_OBJECT) { tok = jp.nextToken(); String key = jp.getText(); tok = jp.nextToken(); if ("uid".equals(key)) { uid = jp.getText(); } else if ("path".equals(key)) { path = jp.getText(); } else if ("type".equals(key)) { type = jp.getText(); } else if ("state".equals(key)) { state = jp.getText(); } else if ("versionLabel".equals(key)) { versionLabel = jp.getText(); } else if ("isCheckedOut".equals(key)) { isCheckedOut = jp.getText(); } else if ("lock".equals(key)) { if (!JsonToken.VALUE_NULL.equals(jp.getCurrentToken())) { String[] lock = jp.getText().split(":"); lockOwner = lock[0]; lockCreated = lock[1]; } } else if ("lockCreated".equals(key)) { lockCreated = jp.getText(); } else if ("lockOwner".equals(key)) { lockOwner = jp.getText(); } else if ("repository".equals(key)) { repository = jp.getText(); } else if ("properties".equals(key)) { readProperties(jp, properties); } else if ("changeToken".equals(key)) { changeToken = jp.getText(); } else if ("isProxy".equals(key)) { isProxy = jp.getBooleanValue(); } } return new Document(uid, type, null, changeToken, path, state, lockOwner, lockCreated, repository, versionLabel, isCheckedOut, isProxy, properties, null); }
From source file:org.mongojack.internal.DBRefDeserializer.java
@Override public DBRef deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { // First of all, make sure that we can get a copy of the DBCollection if (jp instanceof JacksonDBCollectionProvider) { K id = null;//from w w w . j av a 2 s . c o m String collectionName = null; JsonToken token = jp.getCurrentToken(); if (token == JsonToken.VALUE_NULL) { return null; } if (token == JsonToken.VALUE_EMBEDDED_OBJECT) { // Someones already kindly decoded it for us Object object = jp.getEmbeddedObject(); if (object instanceof com.mongodb.DBRef) { if (keyDeserializer != null) { id = keyDeserializer.deserialize(jp, ctxt); } else { id = (K) ((com.mongodb.DBRef) object).getId(); } collectionName = ((com.mongodb.DBRef) object).getRef(); } else { throw ctxt.instantiationException(DBRef.class, "Don't know what to do with embedded object: " + object); } } else if (token == JsonToken.START_OBJECT) { token = jp.nextValue(); while (token != JsonToken.END_OBJECT) { if (jp.getCurrentName().equals("$id")) { if (keyDeserializer != null) { id = keyDeserializer.deserialize(jp, ctxt); } else { id = (K) jp.getEmbeddedObject(); } } else if (jp.getCurrentName().equals("$ref")) { collectionName = jp.getText(); } else { // Ignore the rest } token = jp.nextValue(); } } if (id == null) { return null; } if (collectionName == null) { throw ctxt.instantiationException(DBRef.class, "DBRef contains no collection name"); } JacksonDBCollection coll = ((JacksonDBCollectionProvider) jp).getDBCollection(); JacksonDBCollection<T, K> refColl = coll.getReferenceCollection(collectionName, type, keyType); return new FetchableDBRef<T, K>(id, refColl); } else { throw ctxt.instantiationException(DBRef.class, "DBRef can only be deserialised by this deserializer if parser implements " + JacksonDBCollectionProvider.class.getName() + " parser is actually " + jp.getClass().getName()); } }
From source file:org.springframework.security.oauth2.common.exceptions.OAuth2ExceptionJackson2Deserializer.java
@Override public OAuth2Exception deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { JsonToken t = jp.getCurrentToken();/* w ww. j ava 2 s. c o m*/ if (t == JsonToken.START_OBJECT) { t = jp.nextToken(); } Map<String, Object> errorParams = new HashMap<String, Object>(); for (; t == JsonToken.FIELD_NAME; t = jp.nextToken()) { // Must point to field name String fieldName = jp.getCurrentName(); // And then the value... t = jp.nextToken(); // Note: must handle null explicitly here; value deserializers won't Object value; if (t == JsonToken.VALUE_NULL) { value = null; } // Some servers might send back complex content else if (t == JsonToken.START_ARRAY) { value = jp.readValueAs(List.class); } else if (t == JsonToken.START_OBJECT) { value = jp.readValueAs(Map.class); } else { value = jp.getText(); } errorParams.put(fieldName, value); } Object errorCode = errorParams.get("error"); String errorMessage = errorParams.containsKey("error_description") ? errorParams.get("error_description").toString() : null; if (errorMessage == null) { errorMessage = errorCode == null ? "OAuth Error" : errorCode.toString(); } OAuth2Exception ex; if ("invalid_client".equals(errorCode)) { ex = new InvalidClientException(errorMessage); } else if ("unauthorized_client".equals(errorCode)) { ex = new UnauthorizedUserException(errorMessage); } else if ("invalid_grant".equals(errorCode)) { if (errorMessage.toLowerCase().contains("redirect") && errorMessage.toLowerCase().contains("match")) { ex = new RedirectMismatchException(errorMessage); } else { ex = new InvalidGrantException(errorMessage); } } else if ("invalid_scope".equals(errorCode)) { ex = new InvalidScopeException(errorMessage); } else if ("invalid_token".equals(errorCode)) { ex = new InvalidTokenException(errorMessage); } else if ("invalid_request".equals(errorCode)) { ex = new InvalidRequestException(errorMessage); } else if ("redirect_uri_mismatch".equals(errorCode)) { ex = new RedirectMismatchException(errorMessage); } else if ("unsupported_grant_type".equals(errorCode)) { ex = new UnsupportedGrantTypeException(errorMessage); } else if ("unsupported_response_type".equals(errorCode)) { ex = new UnsupportedResponseTypeException(errorMessage); } else if ("insufficient_scope".equals(errorCode)) { ex = new InsufficientScopeException(errorMessage, OAuth2Utils.parseParameterList((String) errorParams.get("scope"))); } else if ("access_denied".equals(errorCode)) { ex = new UserDeniedAuthorizationException(errorMessage); } else { ex = new OAuth2Exception(errorMessage); } Set<Map.Entry<String, Object>> entries = errorParams.entrySet(); for (Map.Entry<String, Object> entry : entries) { String key = entry.getKey(); if (!"error".equals(key) && !"error_description".equals(key)) { Object value = entry.getValue(); ex.addAdditionalInformation(key, value == null ? null : value.toString()); } } return ex; }
From source file:com.cedarsoft.serialization.jackson.JacksonTest.java
@Test public void testNull() throws Exception { generator.writeNull();/* w ww .j av a 2 s.c o m*/ verifyGenerator("null"); JsonParser parser = jsonFactory.createJsonParser("null"); assertEquals(null, parser.getCurrentToken()); assertEquals(JsonToken.VALUE_NULL, parser.nextToken()); assertEquals(null, parser.nextToken()); }
From source file:org.ojai.beans.jackson.DocumentParser.java
@Override public JsonToken nextToken() throws IOException, JsonParseException { if (tokens.isEmpty() && (_currEventType = r.next()) != null) { if (r.inMap() && r.getFieldName() != null && _currEventType != EventType.END_MAP && _currEventType != EventType.END_ARRAY) { tokens.add(JsonToken.FIELD_NAME); }/*w w w . j a va 2 s. c om*/ switch (_currEventType) { case START_ARRAY: tokens.add(JsonToken.START_ARRAY); break; case END_ARRAY: tokens.add(JsonToken.END_ARRAY); break; case START_MAP: tokens.add(JsonToken.START_OBJECT); break; case END_MAP: tokens.add(JsonToken.END_OBJECT); break; case NULL: tokens.add(JsonToken.VALUE_NULL); break; case STRING: tokens.add(JsonToken.VALUE_STRING); break; case BYTE: case SHORT: case INT: case LONG: tokens.add(JsonToken.VALUE_NUMBER_INT); break; case DECIMAL: case DOUBLE: case FLOAT: tokens.add(JsonToken.VALUE_NUMBER_FLOAT); break; case BOOLEAN: tokens.add(r.getBoolean() ? JsonToken.VALUE_TRUE : JsonToken.VALUE_FALSE); break; case DATE: case TIME: case TIMESTAMP: case INTERVAL: case BINARY: tokens.add(JsonToken.VALUE_EMBEDDED_OBJECT); break; } } _currToken = tokens.isEmpty() ? JsonToken.NOT_AVAILABLE : tokens.remove(); return _currToken; }
From source file:com.addthis.codec.config.ConfigNodeCursor.java
static JsonToken forConfigValue(ConfigValue configValue) { ConfigValueType valueType = configValue.valueType(); switch (valueType) { case NUMBER:// w ww. ja va 2 s . com if (configValue.unwrapped() instanceof Double) { return JsonToken.VALUE_NUMBER_FLOAT; } else { return JsonToken.VALUE_NUMBER_INT; } case BOOLEAN: if (configValue.unwrapped().equals(Boolean.TRUE)) { return JsonToken.VALUE_TRUE; } else { return JsonToken.VALUE_FALSE; } case NULL: return JsonToken.VALUE_NULL; case STRING: return JsonToken.VALUE_STRING; case OBJECT: return JsonToken.START_OBJECT; case LIST: return JsonToken.START_ARRAY; default: // not possible unless the set of enums changes on us later throw new IllegalArgumentException(valueType.name() + " is not a supported ConfigValueType"); } }
From source file:com.cedarsoft.serialization.jackson.NullSerializer.java
@Nullable @Override//w w w .j a va 2 s . c o m public Void deserialize(@Nonnull JsonParser parser) throws IOException, JsonProcessingException, SerializationException { JacksonParserWrapper parserWrapper = new JacksonParserWrapper(parser); parserWrapper.nextToken(); parserWrapper.verifyCurrentToken(JsonToken.VALUE_NULL); //noinspection ConstantConditions return null; }
From source file:org.tanrabad.survey.service.json.MultiPolygonTypeConverter.java
private Location getLocation(JsonParser jsonParser) throws IOException { Location value3;/* w w w . ja va 2 s.c om*/ if (jsonParser.getCurrentToken() == JsonToken.START_ARRAY) { ArrayList<Double> point = new ArrayList<>(); while (jsonParser.nextToken() != JsonToken.END_ARRAY) { Double coordinate; coordinate = jsonParser.getCurrentToken() == JsonToken.VALUE_NULL ? null : jsonParser.getValueAsDouble(); point.add(coordinate); } value3 = new Location(point.get(1), point.get(0)); } else { value3 = null; } return value3; }