title: Jackson Polymorphic Deserialization expected START_ARRAY
body: <p>I need to deserializa a Json like this:</p>
  
  <pre><code>{  
     "arrayObj1":[  
        {  
           "type":"t1",
           "value":[  
              {  
                 "value1":"a"
              },
              {  
                 "value2":"b"
              }
           ],
           "otherInfo":"abc"
        }
     ]
  }
  </code></pre>
  
  <p>Thats how i try to do it:</p>
  
  <pre><code>public class ClassA{
  private ArrayObj1[] arrayObj1;}
  </code></pre>
  
  <p>Then...</p>
  
  <pre><code>    public class ArrayObj1 extends Value{
      private String type;
      private Value [] value;
  
   @JsonTypeInfo(use = JsonTypeInfo.Id.NAME,
                    include = JsonTypeInfo.As.EXTERNAL_PROPERTY,
                    property = "type")
      @JsonSubTypes(value={
              @JsonSubTypes.Type(value = T1.class, name = "t1")
      })
      public void setValue (Value [] value){
          this.value = value;
      }
  }
  </code></pre>
  
  <p>and...</p>
  
  <pre><code>public abstract class Value {}
  </code></pre>
  
  <p>This is the error iv got:
  com.fasterxml.jackson.databind.JsonMappingException: Unexpected token (START_OBJECT), expected START_ARRAY: need JSON Array to contain As.WRAPPER_ARRAY type information for class ... etc</p>
  
  <p>How to handle this? Thanks.</p>
  
  <p>EDIT: This is how i deserialize:</p>
  
  <pre><code>public ClassA getObj (String jsonString) {
      ClassA obj = null;
      try {
          obj = new ObjectMapper().readValue(jsonString, ClassA.class);
      } catch (IOException e) {
          e.printStackTrace();
      }
      return obj;
  }
  </code></pre>
  
  <p>Full error is: </p>
  
  <blockquote>
    <p>com.fasterxml.jackson.databind.JsonMappingException: Unexpected token
    (START_OBJECT), expected START_ARRAY: need JSON Array to contain
    As.WRAPPER_ARRAY type information for class .Value  at [Source:
    java.io.StringReader@4317b868; line: 1, column: 496] (through
    reference chain: .ClassA["arrayObj1"]->.ArrayObj1["value"])</p>
  </blockquote>