title: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path
body: <p>I have this error, it's about an object.</p>
  
  <p>This is my port:</p>
  
  <pre><code>http://localhost:3000/cupones
  </code></pre>
  
  <p>I can see this:</p>
  
  <pre><code>[
  {
      "id": "YLabhnB",
      "empresa": "KFC",
      "titulo": "Mega Online",
      "descripcion": "9 Piezas de pollo, 1 Papa Familiar, 6 Nuggets, 1 Ensalada Familiar, 1 Gaseosa de 1.5Lts",
      "precio": 55.9,
      "imgUrl": "https://www.kfc.com.pe/Imagenes/800x275/BOTONERA%20MEGA%20ONLINE%202.jpg"
  },
  {
      "id": "LLzwhnA",
      "empresa": "Bembos",
      "titulo": "Promo Clásica",
      "descripcion": "Clásica Mediana + 1 Papa Mediana + 1 Gaseosa 500ml",
      "precio": 13.9,
      "imgUrl": "http://www.bembos.com.pe/media/catalog/product/cache/1/image/9df78eab33525d08d6e5fb8d27136e95/o/k/okpromoclasica__2_.png"
  }
  ]
  </code></pre>
  
  <p>Then I created a class with jsonschema2pojo, after that I created my JSONResponse, here:</p>
  
  <pre><code>public class JSONResponse {
      private Cupon[] cupon;
  
      public Cupon[] getCupon() {
          return cupon;
      }
  }
  </code></pre>
  
  <p>I think that I can change something here in my interface that is called </p>
  
  <pre><code>public interface RequestInterface {
      @GET("cupones")
      Call&lt;JSONResponse&gt; getJSON();
  }
  </code></pre>
  
  <p>Finally in my fragment:</p>
  
  <pre><code>private void initViews(View rootView){
      recyclerView = (RecyclerView) rootView.findViewById(R.id.card_recycler_view);
      recyclerView.setHasFixedSize(true);
      RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(getActivity());
      recyclerView.setLayoutManager(layoutManager);
      recyclerView.setAdapter(new CuponAdapter(new ArrayList&lt;Cupon&gt;()));
      loadJSON();
  }
  
  private void loadJSON(){
      Retrofit retrofit = new Retrofit.Builder()
              .baseUrl("http://192.168.1.42:3000/")
              .addConverterFactory(GsonConverterFactory.create())
              .build();
      RequestInterface request = retrofit.create(RequestInterface.class);
      Call&lt;JSONResponse&gt; call = request.getJSON();
      call.enqueue(new Callback&lt;JSONResponse&gt;() {
          @Override
          public void onResponse(Call&lt;JSONResponse&gt; call, Response&lt;JSONResponse&gt; response) {
              JSONResponse jsonResponse = response.body();
              data = new ArrayList&lt;&gt;(Arrays.asList(jsonResponse.getCupon()));
              adapter = new CuponAdapter(data);
              recyclerView.setAdapter(adapter);
          }
  
          @Override
          public void onFailure(Call&lt;JSONResponse&gt; call, Throwable t) {
              Log.d("Error", t.getMessage());
          }
      });
  }
  </code></pre>
  
  <p>How could I fix that?</p>