title: Jackson JsonMappingException: Can not deserialize instance
body: <p>I'm trying to convert my json data to a POJO object using Jackson. Here is the MainActivity and my POJO class code. I'm basically getting a JsonMappingException error. I have also attached the whole log.</p>
  
  <p>MainActivity.java :</p>
  
  <pre><code>ObjectMapper mapper = new ObjectMapper();
      mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
      try {
          List&lt;Entries&gt; results = mapper.readValue(new URL("http://collegewires.com/android/jacksoncw.json"), new TypeReference&lt;List&lt;Entries&gt;&gt;(){});
          for(int i=0;i&lt;results.size();++i){
              System.out.println(results.get(i).getName());
              out = out + " ## " + results.get(i).getName();
              txt.setText("1111");
          }
      } catch (JsonParseException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
  
      } catch (JsonMappingException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
  
      } catch (MalformedURLException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
  
      } catch (IOException e) {
          // TODO Auto-generated catch block
          e.printStackTrace();
      }
  </code></pre>
  
  <p>Entries.java (this is the POJO)</p>
  
  <pre><code>package com.collegewires.jackson;
  
  public class Entries {
  public Entries(){
  }
  
  private String id, name, email, address, gender;
  private Phone phone;
  
  public Phone getPhone() {
      return phone;
  }
  
  public void setPhone(Phone phone) {
      this.phone = phone;
  }
  
  public String getId() {
      return id;
  }
  
  public void setId(String id) {
      this.id = id;
  }
  
  public String getName() {
      return name;
  }
  
  public void setName(String name) {
      this.name = name;
  }
  
  public String getEmail() {
      return email;
  }
  
  public void setEmail(String email) {
      this.email = email;
  }
  
  public String getAddress() {
      return address;
  }
  
  public void setAddress(String address) {
      this.address = address;
  }
  
  public String getGender() {
      return gender;
  }
  
  public void setGender(String gender) {
      this.gender = gender;
  }
  
  @Override
  public String toString() {
      return "Entries:{id: " + id + ", name: " + name + 
                  ", email: " + email + ", address: " + address + ", gender: " + gender + ", phone: " + phone + "}";
  }
  
  public class Phone {
      public Phone(){
      }
      public String  mobile, home, office;
      public String getMobile() {
          return mobile;
      }
  
      public void setMobile(String mobile) {
          this.mobile = mobile;
      }
  
      public String getHome() {
          return home;
      }
  
      public void setHome(String home) {
          this.home = home;
      }
  
      public String getOffice() {
          return office;
      }
  
      public void setOffice(String office) {
          this.office = office;
      }
  
      @Override
      public String toString() {
          return "Phone:{mobile: " + mobile + ", home: " + home + 
                      ", office: " + office + "}";
      }
  }
  
  
  }
  </code></pre>
  
  <p>Now, I'm getting the following error in my log. Because of this, I'm unable to proceed with my work. Here is the log :</p>
  
  <pre><code>07-12 12:06:13.206: W/System.err(30593): 
  
  com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.util.ArrayList out of START_OBJECT token
  07-12 12:06:13.206: W/System.err(30593):  at [Source: http://collegewires.com/android/jacksoncw.json; line: 1, column: 1]
  07-12 12:06:13.211: W/System.err(30593):    at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:575)
  07-12 12:06:13.211: W/System.err(30593):    at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:569)
  07-12 12:06:13.211: W/System.err(30593):    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.handleNonArray(CollectionDeserializer.java:259)
  07-12 12:06:13.211: W/System.err(30593):    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:217)
  07-12 12:06:13.211: W/System.err(30593):    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:207)
  07-12 12:06:13.211: W/System.err(30593):    at com.fasterxml.jackson.databind.deser.std.CollectionDeserializer.deserialize(CollectionDeserializer.java:23)
  07-12 12:06:13.211: W/System.err(30593):    at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:2888)
  07-12 12:06:13.211: W/System.err(30593):    at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2018)
  07-12 12:06:13.211: W/System.err(30593):    at com.collegewires.jackson.MainActivity.onCreate(MainActivity.java:81)
  07-12 12:06:13.211: W/System.err(30593):    at android.app.Activity.performCreate(Activity.java:5250)
  07-12 12:06:13.211: W/System.err(30593):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
  07-12 12:06:13.211: W/System.err(30593):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
  07-12 12:06:13.211: W/System.err(30593):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2297)
  07-12 12:06:13.211: W/System.err(30593):    at android.app.ActivityThread.access$700(ActivityThread.java:152)
  07-12 12:06:13.211: W/System.err(30593):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
  07-12 12:06:13.211: W/System.err(30593):    at android.os.Handler.dispatchMessage(Handler.java:99)
  07-12 12:06:13.211: W/System.err(30593):    at android.os.Looper.loop(Looper.java:137)
  07-12 12:06:13.211: W/System.err(30593):    at android.app.ActivityThread.main(ActivityThread.java:5328)
  07-12 12:06:13.211: W/System.err(30593):    at java.lang.reflect.Method.invokeNative(Native Method)
  07-12 12:06:13.211: W/System.err(30593):    at java.lang.reflect.Method.invoke(Method.java:511)
  07-12 12:06:13.211: W/System.err(30593):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
  07-12 12:06:13.211: W/System.err(30593):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
  07-12 12:06:13.211: W/System.err(30593):    at dalvik.system.NativeStart.main(Native Method)
  07-12 12:06:13.251: D/libEGL(30593): loaded /vendor/lib/egl/libEGL_POWERVR_SGX544_115.so
  07-12 12:06:13.261: D/libEGL(30593): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX544_115.so
  07-12 12:06:13.266: D/libEGL(30593): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX544_115.so
  07-12 12:06:13.271: I/(30593): !@IMGSRV: DATE: 2013.04.23(11:19:33) | BUILDER: LSI3D | REVISION: e9cd1377d8225457ae40
  07-12 12:06:13.346: D/OpenGLRenderer(30593): Enabling debug mode 0
  07-12 12:06:31.521: W/IInputConnectionWrapper(30593): setComposingText on inactive InputConnection
  </code></pre>