title: parsing json object with array retrofit
body: <p>I'm trying to parse a the next json object with retrofit 2.1.0 but i don't know why there is not any data witnin the field <strong>data</strong> it's always empty.</p>
  
  <pre><code>{
    "status": "OK",
    "message": "Upload succesfull",
    "data": [
      {
        "channel": "madrid",
        "date": "20161212221",
        "metadata": {
          "id": "tvmadrid",
          "channel_id": "tvmadrid.com",
          "channel_name": "mad",        
        },
        "promos": []
      },
      {
        "channel": "barca",
        "date": "20161233232",
        "metadata": {
          "id": "tvbarca",
          "channel_id": "tvbarca.com",
          "channel_name": "barca",  
        },
        "promos": []
      }
    ]
  }
  </code></pre>
  
  <p>My model class goes here.</p>
  
  <blockquote>
    <p>TvChannel</p>
  </blockquote>
  
  <pre><code>public class TvChannel {
  private String status;
  private String message;
  private Data[] data;
  
  public String getStatus() {
      return status;
  }
  
  public void setStatus(String status) {
      this.status = status;
  }
  
  public String getMessage() {
      return message;
  }
  
  public void setMessage(String message) {
      this.message = message;
  }
  
  
  
  public Data[] getData() {
      return data;
  }
  
  public void setData(Data[] data) {
      this.data = data;
  }
  
  
  @Override
  public String toString() {
      return    "status " + status + "\n"
              + "message " + message + "\n"
              + "Data " + data.toString();
  }
  </code></pre>
  
  <p>}</p>
  
  <p>Here is a method that call the API </p>
  
  <pre><code>public void getTvChannel(User user, MultipartBody.Part body) {
  
      //user.getData().getAutenticate(),
  
      Call&lt;TvChannel&gt; callTvChannel = getAPI().listTvChannel(user.getData().getAutenticate(), body);
      callTvChannel.enqueue(new Callback&lt;TvChannel&gt;() {
          @Override
          public void onResponse(Call&lt;TvChannel&gt; call, Response&lt;TvChannel&gt; response) {
              if (response.isSuccessful()) {
  
  
  
  
                  Log.d(TAG, "body to string: " + response.body().getStatus());
  
                  TvChannel tvChannel = response.body();
  
  
  
                  ArrayList&lt;Data&gt; datas = new ArrayList&lt;Data&gt;(Arrays.asList(response.body().getData()));
  
                  Log.d(TAG + " getTvChannel ", " onResponse: status: " + tvChannel.getStatus() + "  message: " + tvChannel.getMessage() );
  
                  for (Data data : datas) {
                      Log.d(TAG,data.toString());
                  }
  
              } else {
                  Log.d(TAG + " getTvChannel", " onResponse " + "Error Code " + response.code());
              }
          }
  
          @Override
          public void onFailure(Call&lt;TvChannel&gt; call, Throwable t) {
              Log.d(TAG + " getTvChannel ", " onFailure " + " Didn't work " + t.getMessage() + " " + t.getCause() + " \n" + Arrays.toString(t.getStackTrace()));
  
  
          }
      });
  }
  </code></pre>
  
  <p>thanks in advance.</p>