title: retrofit expected begin_array but was begin_object at line 1 column 2 path $
body: <p>I'm learning retrofit following a youtube video
  but right now I'm stuck. It shows me an error "retrofit expected begin_array but was begin_object at line 1 column 2 path $"
  I'm trying to get json data from this site.
  <a href="http://servicio-monkydevs.rhcloud.com/clientes/" rel="nofollow">http://servicio-monkydevs.rhcloud.com/clientes/</a></p>
  
  <p>Here is my code</p>
  
  <p>MainActivity.java</p>
  
  <pre><code>resultadoTextView = (TextView) findViewById(R.id.Resultado);
      Retrofit restAdapter = new Retrofit.Builder()
              .baseUrl("http://servicio-monkydevs.rhcloud.com")
              .addConverterFactory(GsonConverterFactory.create())
              .build();
  
      ClienteService service = restAdapter.create(ClienteService.class);
      Call&lt;Cliente&gt; call = service.getCliente();
      call.enqueue(new Callback&lt;Cliente&gt;() {
          @Override
          public void onResponse(Call&lt;Cliente&gt; call, Response&lt;Cliente&gt; response) {
              if(response.isSuccessful()) {
                  resultadoTextView.setText(call.toString());
              }else{
                  resultadoTextView.setText("algo paso");
              }
          }
  
          @Override
          public void onFailure(Call&lt;Cliente&gt; call, Throwable t) {
              resultadoTextView.setText(t.getMessage());
          }
      });
  </code></pre>
  
  <p>ClientService.java</p>
  
  <pre><code>public interface ClienteService {
    @GET("/clientes")
    Call&lt;Cliente&gt; getCliente();
  }
  </code></pre>
  
  <p>Client.java</p>
  
  <pre><code>public class Cliente {
  private int id;
  private String name;
  private String username;
  private String email;
  private String phone;
  private String website;
  private String photo;
  
  public int getId() {
      return id;
  }
  
  public void setId(int id) {
      this.id = id;
  }
  
  public String getName() {
      return name;
  }
  
  public void setName(String name) {
      this.name = name;
  }
  
  public String getUsername() {
      return username;
  }
  
  public void setUsername(String username) {
      this.username = username;
  }
  
  public String getEmail() {
      return email;
  }
  
  public void setEmail(String email) {
      this.email = email;
  }
  
  public String getPhone() {
      return phone;
  }
  
  public void setPhone(String phone) {
      this.phone = phone;
  }
  
  public String getWebsite() {
      return website;
  }
  
  public void setWebsite(String website) {
      this.website = website;
  }
  
  public String getPhoto() {
      return photo;
  }
  
  public void setPhoto(String photo) {
      this.photo = photo;
  }
  
  @Override
  public String toString() {
      return "Cliente{" +
              "id=" + id +
              ", name='" + name + '\'' +
              ", username='" + username + '\'' +
              ", email='" + email + '\'' +
              ", phone='" + phone + '\'' +
              ", website='" + website + '\'' +
              ", photo='" + photo + '\'' +
              '}';
  }}
  </code></pre>
  
  <p>What am I doing wrong?</p>
  
  <p><strong>UPDATE</strong> </p>
  
  <p>I made these changes</p>
  
  <pre><code>public class Cliente {
  @SerializedName("id")
  private int id;
  @SerializedName("name")
  private String name;
  @SerializedName("username")
  private String username;
  @SerializedName("email")
  private String email;
  @SerializedName("phone")
  private String phone;
  @SerializedName("website")
  private String website;
  @SerializedName("photo")
  private String photo;
  ...
  </code></pre>
  
  <p>And this in the interface</p>
  
  <pre><code>public interface ClienteService {
    @GET("/clientes")
    Call&lt;List&lt;Cliente&gt;&gt; getCliente();
  }
  </code></pre>
  
  <p>And this in the MainActivity as you say</p>
  
  <pre><code> Call&lt;List&lt;Cliente&gt;&gt; call = service.getCliente();
      call.enqueue(new Callback&lt;List&lt;Cliente&gt;&gt;() {
          @Override
          public void onResponse(Call&lt;List&lt;Cliente&gt;&gt; call, Response&lt;List&lt;Cliente&gt;&gt; response) {
              if(response.isSuccessful()) {
                  resultadoTextView.setText(call.toString());
              }else{
                  resultadoTextView.setText("algo paso");
              }
          }
  
          @Override
          public void onFailure(Call&lt;List&lt;Cliente&gt;&gt; call, Throwable t) {
              resultadoTextView.setText(t.getMessage());
          }
      });
  </code></pre>
  
  <p>But now it shows me this error:
  <strong>"retrofit2.executorCallAdapterFactory$ExecutorCallbackCall@6a3dd44"</strong></p>
  
  <p>It shows me this in this line</p>
  
  <pre><code>...
  if(response.isSuccessful()) {
              resultadoTextView.setText(call.toString());  &lt;-- HERE
          }else{
  ...
  </code></pre>