title: how to write jackson deserializer based on property in json
body: <p>I want to write json deserializer on class Type so that when Type is deserialized from given json based on name it maps value (of type interface Being) to its current implementation based on some factory method that returns correct class name based on name, and populates remaining class without any explicit deserialization and without creating object of TigerBeing or HumanBeing explicitly using new.</p>
  
  <p>I tried to use @jsonCreator but there i have to initialize entire HumanBeing or TigerBeing using new and passing all json in constructor. I need auto mapping for types further used as further pojo can be quite complex.</p>
  
  <pre><code>{type:[{
      "name": "Human",
      "value": { 
          "height":6,
          "weight":100,
          "languages":["spanish","english"]
      }
   },
  {
  "name":"Tiger",
  "value":{
      "extinct":1,
      "found":["Asia", "America", "Europe", "Africa"]
  }
  }
  ]}
  
  I have:
  
  public class Type {
      String name;
      Being value;
  }
  
  public interface Being {
  }
  
  public class TigerBeing implements Being { 
      Integer extinct;
      String[] found;
  }
  
  public class HumanBeing implement Being {
      Integer height;
      Integer weight;
      String[] languages;
  }
  </code></pre>