title: Calling custom JsonDeserializer from another JsonDeserializer
body: <p>I'm trying to invoke a custom JsonDeserializer from another one, but I can't figure out how.</p>
  
  <p>I'm using @JsonDeserialize annotations in my entities:</p>
  
  <pre><code>@JsonDeserialize(using = BobDeserializer.class)
  class Bob {
  
      private Integer number;
  
      ...
  
  }
  
  
  @JsonDeserialize(using = AliceDeserializer.class)
  class Alice {
  
      private Bob bob;
  
      ...
  
  }
  </code></pre>
  
  <p>My deserializers are:</p>
  
  <pre><code>class BobDeserializer extends StdDeserializer&lt;Bob&gt; {
  
      public Bob deserialize(JsonParser parser, DeserializationContext context) throws IOException {
          JsonNode node = parser.getCodec().readTree(parser);
  
          Integer number = node.get("number").asInt();
  
          Bob bob = new Bob();
          bob.setNumber(number);
  
          return bob;
      }
  
  }
  
  
  class AliceDeserializer extends StdDeserializer&lt;Alice&gt; {
  
      public Alice deserialize(JsonParser parser, DeserializationContext context) throws IOException {
          JsonNode node = parser.getCodec().readTree(parser);
  
          Bob bob = ???????; // How to get Bob calling BobDeserializer to deserialize node.get("bob")?
  
          Alice alice = new Alice();
          alice.setBob(bob);
  
          return alice;
      }
  
  }
  </code></pre>
  
  <p>AliceDeserializer receives a JSON input like the following:</p>
  
  <pre><code>{
      "bob": {
          "number": 2
      }
  }
  </code></pre>
  
  <p>I need help invoking BobDeserializer from AliceDeserializer. <strong>I want to use an automatic mechanism</strong> for this, instead of injecting the deserializer using @Autowired.</p>
  
  <p>Thank you</p>