@@ -207,34 +207,35 @@ protected final Object _deserializeOther(JsonParser p, DeserializationContext ct
207
207
JsonToken t ) throws IOException
208
208
{
209
209
// and then others, generally requiring use of @JsonCreator
210
- switch (t ) {
211
- case VALUE_STRING :
212
- return deserializeFromString (p , ctxt );
213
- case VALUE_NUMBER_INT :
214
- return deserializeFromNumber (p , ctxt );
215
- case VALUE_NUMBER_FLOAT :
216
- return deserializeFromDouble (p , ctxt );
217
- case VALUE_EMBEDDED_OBJECT :
218
- return deserializeFromEmbedded (p , ctxt );
219
- case VALUE_TRUE :
220
- case VALUE_FALSE :
221
- return deserializeFromBoolean (p , ctxt );
222
-
223
- case VALUE_NULL :
224
- return deserializeFromNull (p , ctxt );
225
- case START_ARRAY :
226
- // these only work if there's a (delegating) creator...
227
- return deserializeFromArray (p , ctxt );
228
- case FIELD_NAME :
229
- case END_OBJECT : // added to resolve [JACKSON-319], possible related issues
230
- if (_vanillaProcessing ) {
231
- return _vanillaDeserialize (p , ctxt , t );
232
- }
233
- if (_objectIdReader != null ) {
234
- return deserializeWithObjectId (p , ctxt );
210
+ if (t != null ) {
211
+ switch (t ) {
212
+ case VALUE_STRING :
213
+ return deserializeFromString (p , ctxt );
214
+ case VALUE_NUMBER_INT :
215
+ return deserializeFromNumber (p , ctxt );
216
+ case VALUE_NUMBER_FLOAT :
217
+ return deserializeFromDouble (p , ctxt );
218
+ case VALUE_EMBEDDED_OBJECT :
219
+ return deserializeFromEmbedded (p , ctxt );
220
+ case VALUE_TRUE :
221
+ case VALUE_FALSE :
222
+ return deserializeFromBoolean (p , ctxt );
223
+ case VALUE_NULL :
224
+ return deserializeFromNull (p , ctxt );
225
+ case START_ARRAY :
226
+ // these only work if there's a (delegating) creator...
227
+ return deserializeFromArray (p , ctxt );
228
+ case FIELD_NAME :
229
+ case END_OBJECT : // added to resolve [JACKSON-319], possible related issues
230
+ if (_vanillaProcessing ) {
231
+ return _vanillaDeserialize (p , ctxt , t );
232
+ }
233
+ if (_objectIdReader != null ) {
234
+ return deserializeWithObjectId (p , ctxt );
235
+ }
236
+ return deserializeFromObject (p , ctxt );
237
+ default :
235
238
}
236
- return deserializeFromObject (p , ctxt );
237
- default :
238
239
}
239
240
return ctxt .handleUnexpectedToken (handledType (), p );
240
241
}
0 commit comments