web-dev-qa-db-fra.com

Comment convertir JSONArray en liste avec Gson?

Dans mon projet Android Android, j'essaie de convertir un JSONArray reçu en liste. Avec l'aide de this SO answer I est allé un peu plus loin. J'ai maintenant le code suivant:

Gson gson = new Gson();
JSONArray jsonArray = NetworkUtilities.getData("mymodeldata");
Type listType = new TypeToken<List<MyModel>>(){}.getType();
List<MyModel> myModelList = gson.fromJson(jsonArray, listType);

Malheureusement, il se plaint à la dernière ligne que la méthode fromJson (String, Type) dans le type Gson n'est pas applicable pour les arguments (JSONArray, Type). Je ne sais pas vraiment comment résoudre ce problème.

Est-ce que quelqu'un sait comment je peux résoudre ce problème?

31
kramer65

Si vous voyez la réponse ici, vous pouvez remarquer que le premier paramètre de la méthode fromJson() était un String (l'objet json). Essayez d'utiliser la toString() sur le JsonArray comme ceci: -

List<MyModel> myModelList = gson.fromJson(jsonArray.toString(), listType);
58
SudoRahul