@@ -1266,9 +1266,8 @@ public Object deserializeFromString(JsonParser p, DeserializationContext ctxt) t
1266
1266
if (_objectIdReader != null ) {
1267
1267
return deserializeFromObjectId (p , ctxt );
1268
1268
}
1269
- /* Bit complicated if we have delegating creator; may need to use it,
1270
- * or might not...
1271
- */
1269
+ // Bit complicated if we have delegating creator; may need to use it,
1270
+ // or might not...
1272
1271
JsonDeserializer <Object > delegateDeser = _delegateDeserializer ();
1273
1272
if (delegateDeser != null ) {
1274
1273
if (!_valueInstantiator .canCreateFromString ()) {
@@ -1379,6 +1378,18 @@ public Object deserializeFromEmbedded(JsonParser p, DeserializationContext ctxt)
1379
1378
if (_objectIdReader != null ) {
1380
1379
return deserializeFromObjectId (p , ctxt );
1381
1380
}
1381
+ // 26-Jul-2017, tatu: as per [databind#1711] need to support delegating case too
1382
+ JsonDeserializer <Object > delegateDeser = _delegateDeserializer ();
1383
+ if (delegateDeser != null ) {
1384
+ if (!_valueInstantiator .canCreateFromString ()) {
1385
+ Object bean = _valueInstantiator .createUsingDelegate (ctxt ,
1386
+ delegateDeser .deserialize (p , ctxt ));
1387
+ if (_injectables != null ) {
1388
+ injectValues (ctxt , bean );
1389
+ }
1390
+ return bean ;
1391
+ }
1392
+ }
1382
1393
1383
1394
// TODO: maybe add support for ValueInstantiator, embedded?
1384
1395
0 commit comments