Fehler bin immer sagen:ich einige Werte bin Entsendung und in Retrofit-Antwort als Array erhalten, aber Fehler
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Erwartete BEGIN_OBJECT wurde aber BEGIN_ARRAY in Zeile 1 Spalte 2 Pfad $ in Retrofit
Dies ist meine Funktion:
public interface I_GetStockTransferForLocation {
@FormUrlEncoded
@POST("/DataAccessService.svc/GetStockTransferForLocation")
void getStockFrLocation(@Field("COMPANY_ID")
String companyId ,@Field("LOCATION_ID")
String locationId ,@Field("TRANSACTION_DATE")
String transactionDate ,
Callback<RFResp_GetStockTransferFrLocatn> callback); }
public class RFResp_GetStockTransferFrLocatn {
@SerializedName("StockTransferList") private List<StockTransferList>
stockTransferList = new ArrayList<StockTransferList>();
@SerializedName("Transfer_Date")
private String transferDate; }
private void getStockTransferFrLocation() {
RestAdapter adapterGetStockTransfer = new RestAdapter.Builder()
.setEndpoint(ROOT_URL) //Setting the Root URL
.build(); //Finally building the adapter
//Creating object for our interface
I_GetStockTransferForLocation api = adapterGetStockTransfer.create(I_GetStockTransferForLocation.class);
api.getStockFrLocation(strCompanyId, strLocationId, strST_date, new Callback<RFResp_GetStockTransferFrLocatn>() {
@Override
public void success(RFResp_GetStockTransferFrLocatn rfResp_getStockTransferFrLocatn, retrofit.client.Response response) {
List<StockTransferList> stockTransferLists = rfResp_getStockTransferFrLocatn.getStockTransferList();
db = new Database(context);
stckTransferFk = db.getLastStock();
if (stckTransferFk == 0){
stckTransferFk = 1;
}
else{
stckTransferFk = stckTransferFk + 1;
}
if(stockTransferLists.size()>0) {
db = new Database(context);
db.clearStockTransferData();
db.createStockTransfer(rfResp_getStockTransferFrLocatn.getTransferDate(), stockTransferLists,stckTransferFk);
Intent intent = new Intent("com.dj.prachi");
intent.putExtra("customers_count",db.getCustomerCount()+"");
intent.putExtra("products_count",db.getProductCount()+"");
LocalBroadcastManager.getInstance(getApplicationContext()).sendBroadcast(intent);
Log.e("Prachi","Stock Transfer array"+stockTransferLists.size());
}
}
@Override
public void failure(RetrofitError error) {
Log.e("Prachi","Stock Transfr Error"+error.getMessage());
}
});
}
und meine Antwort ist
[
{
"StockTransferList": [
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12107",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12108",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "30.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12109",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "30.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12110",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12111",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "30.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12112",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "30.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12113",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12114",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12115",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12116",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12117",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12118",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12119",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
},
{
"CLOSING_STOCK_QTY": "0.00",
"COMPANY_ID": "7",
"LOCATION_ID": "1",
"OPENING_STOCK_QTY": "0.00",
"STOCKITEM_ID": "12120",
"TRANSACION_ID": "0",
"TRANSFER_IN_QTY": "0.00"
}
],
"Transfer_Date": "25/06/2016"
}
]
zeigen Sie den Klassencode 'RFResp_GetStockTransferFrLocatn' an. Und ich würde vorschlagen, dass Sie Ihre Klassen und Variablen besser benennen :) – x0r
Dieser Fehler wird angezeigt, wenn Sie versuchen, Jsonobject zu erhalten, wenn es kein Objekt ist, aber Array oder wenn Sie versuchen, Array zu erhalten, wenn es Objekt und Array nicht ist. Bitte geben Sie Ihre Datenobjektklasse an, damit wir Ihnen bei der Lösung Ihres Problems helfen können. – Drv
kann nebdy mir bitte helfen –