0

I corrected my code according to the answer here Retrofit Expected BEGIN_OBJECT but was BEGIN_ARRAY

but still I am getting same error.

The api I am using is of wordpress.

here is a sample of my json response

[
{
    "id": 5095,
    "parent_id": 0,
    "number": "5095",
    "order_key": "wc_order_q7QgiKvemzxBd",
    "created_via": "checkout",
    "version": "5.0.0",
    "status": "processing",
    "currency": "USD" 
 },

 {
    "id": 5094,
    "parent_id": 5090,
    "number": "5094",
    "order_key": "wc_order_PeUZBs1eRRgHC",
    "created_via": "dokan",
    "version": "5.0.0",
    "status": "processing",
    "currency": "USD"
 }
]

ApiInterface method:

 @Headers({"Content-Type: application/json"})
@GET("wp-json/wc-analytics/orders")
Call<List<OrdersModel>> getAllOrdersWuCo();

This is how I am calling it

 Call<List<OrdersModel>> allOrdersWuCo = apiInterfaceTwo.getAllOrdersWuCo();
    allOrdersWuCo.enqueue(new Callback<List<OrdersModel>>() {
        @Override
        public void onResponse(Call<List<OrdersModel>> call, Response<List<OrdersModel>> response) {
            List<OrdersModel> list = response.body();

        }

        @Override
        public void onFailure(Call<List<OrdersModel>> call, Throwable t) {
            String message = t.getMessage(); 
        }
    }); 

OrdersModel.java this is my orders model class i have posted some of orders model class as it's too big:

public class OrdersModel {

@SerializedName("id")
@Expose
private Integer id;
@SerializedName("parent_id")
@Expose
private Integer parentId;
@SerializedName("number")
@Expose
private String number;
@SerializedName("order_key")
@Expose
private String orderKey;
@SerializedName("created_via")
@Expose
private String createdVia;
@SerializedName("version")
@Expose
private String version;
@SerializedName("status")
@Expose
private String status;
@SerializedName("currency")
@Expose
private String currency;

public Integer getId() {
    return id;
}

public void setId(Integer id) {
    this.id = id;
}

public Integer getParentId() {
    return parentId;
}

public void setParentId(Integer parentId) {
    this.parentId = parentId;
}

public String getNumber() {
    return number;
}

public void setNumber(String number) {
    this.number = number;
}

public String getOrderKey() {
    return orderKey;
}

public void setOrderKey(String orderKey) {
    this.orderKey = orderKey;
}

public String getCreatedVia() {
    return createdVia;
}

public void setCreatedVia(String createdVia) {
    this.createdVia = createdVia;
}

public String getVersion() {
    return version;
}

public void setVersion(String version) {
    this.version = version;
}

public String getStatus() {
    return status;
}

public void setStatus(String status) {
    this.status = status;
}

public String getCurrency() {
    return currency;
}

public void setCurrency(String currency) {
    this.currency = currency;
}
}
Makarand
  • 983
  • 9
  • 27

0 Answers0