2017-07-04 2 views
-1

j'ai un problème quand je parser le JSON dans AsyncTask Android Studio est sa montre: BEGIN_OBJECT attendu, mais était BEGIN_ARRAY à la ligne 1 colonne 2 chemin $

ce mon code:

@Override 
protected Response doInBackground(String... objects) { 
    try { 
     String stringResponse = loadJSON(objects[0]); 
     Gson gson = new Gson(); 
     return gson.fromJson(stringResponse, Response.class); 


    }catch (IOException e) { 
     e.printStackTrace(); 
     return null; 
     } catch (JsonSyntaxException e) { 
     e.printStackTrace(); 
     return null; 
    } 

} 

et voici mon JSON

[{"Code":"ascascasd", 
    "SKU":"asd", 
    "Name":"asd", 
    "Description":"d", 
    ... 
    ... 
    }] 

Répondre

0

stringResponse doit contenir

{"Code":"ascascasd", 
    "SKU":"asd", 
    "Name":"asd", 
    "Description":"d", 
    ... 
    ... 
    } 

et non

[{"Code":"ascascasd", 
    "SKU":"asd", 
    "Name":"asd", 
    "Description":"d", 
    ... 
    ... 
    }] 

Ou ajouter une autre classe qui contient la liste des objets « réponse » et passer la nouvelle classe à gson.fromJson()