Buon giorno a tutti sto tentando di leggere i dati su un db access tramite volley,ma ottengo questo errore:
com.android.volley.ParseError: org.json.JSONException: Value {"tabripa":[{"codice":71754,"costo":58088},{"codice":72262,"costo":0},{"codice":74786,"costo":174264},{"codice":56477,"costo":3873},{"codice":74949,"costo":0},{"codice":58359,"costo":7745},{"codice":76441,"costo":0},{"codice":68551,"costo":7745},{"codice":69208,"costo":25172},{"codice":70113,"costo":15490},{"codice":79740,"costo":1936},{"codice":100082,"costo":0},{"codice":80022,"costo":5809},{"codice":79980,"costo":58088},{"codice":80806,"costo":1936},{"codice":100448,"costo":9681},{"codice":81464,"costo":7745},{"codice":100704,"costo":0}],"success":1} of type org.json.JSONObject cannot be converted to JSONArray
10-12 04:15:11.516 21768-21768/com.example.nio74.riparazioniarraytest2 W/System.err: at com.android.volley.toolbox.JsonArrayRequest.parseNetworkResponse(JsonArrayRequest.java:70)
Questo è il metodo che sto usando:
public ArrayList<Busta> getList()
{
JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Request.Method.POST, json_url, null,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
int count = 0;
while (count<response.length())
{
try {
JSONObject jsonObject = response.getJSONObject(count);
Busta busta = new Busta(jsonObject.getString("codice"),jsonObject.getString("costo"));
arrayList.add(busta);
count++;
} catch (JSONException e) {
e.printStackTrace();
}
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(context,"Error....", Toast.LENGTH_SHORT).show();
error.printStackTrace();
}
});
MySingleton.getInstance(context).addToRequestque(jsonArrayRequest);
return arrayList;
}
}
Questa la classe Mysngleton:
public class MySingleton
{
private static MySingleton mInstance;
private RequestQueue requestQueue;
private static Context mCtx;
public MySingleton(Context context) {
mCtx = context;
requestQueue = getRequestQueue();
}
public RequestQueue getRequestQueue()
{
if (requestQueue == null)
{
requestQueue = Volley.newRequestQueue(mCtx.getApplicationContext());
}
return requestQueue;
}
public static synchronized MySingleton getInstance (Context context)
{
if(mInstance == null)
{
mInstance = new MySingleton(context);
}
return mInstance;
}
public <T> void addToRequestque(Request<T> request)
{
requestQueue.add(request);
}
}
Presumo ci sia qualche carattere strano ma non so come raddrizzarlo se via php(se avete bisogno dello script ditemelo che lo posto) grazie a tutti.