128 votes

Conversion de JSONarray en ArrayList

Je télécharge une chaîne JSON et la convertit en JSONArray. Je la place dans une liste et je dois pouvoir la supprimer ultérieurement. Comme JSONArray n'a pas de méthode .remove (merci Obama), j'essaie de la convertir en tableau.

voici mon JSON (le tableau.toString()) :

[
    {
         "thumb_url":"tb1370913834.jpg",
         "event_id":"15","count":"44",
         "event_tagline":"this is a tagline",
         "event_name":"5th birthday",
         "event_end":"1370919600",
         "event_start":"1370876400"
    }
]

J'ai besoin de le mettre dans un tableau et de pouvoir appeler les chaînes de caractères par leurs clés respectives. J'apprécie toute aide !

2voto

avisper Points 352

Avec GSON et Kotlin, vous n'avez besoin que de cela :

    val arr = Gson().fromJson(jsonArrayInString, Array<T>::class.java)

2voto

R9J Points 1378

Pour le rendre plus pratique, utilisez les POJO.

Essayez comme ceci

List<YourPojoObject> yourPojos = new ArrayList<YourPojoObject>();

JSONObject jsonObject = new JSONObject(jsonString);
YourPojoObject yourPojo = new YourPojoObject();
yourPojo.setId(jsonObject.getString("idName"));
...
...

yourPojos.add(yourPojo);

1voto

kunal khedkar Points 241

Utilisation de Gson

    List<Student> students = new ArrayList<>();
    JSONArray jsonArray = new JSONArray(stringJsonContainArray);
    for (int i = 0; i < jsonArray.length(); i++) {
        Student student = new Gson().fromJson(jsonArray.get(i).toString(), Student.class);
        students.add(student);
    }
    return students;

1voto

Prem Abhisek Points 1

Je ne fais que suivre le sujet initial du fil de discussion :

conversion de jsonarray en liste (utilisation de jackson jsonarray et object mapper ici) :

ObjectMapper mapper = new ObjectMapper();
JSONArray array = new JSONArray();
array.put("IND");
array.put("CHN");
List<String> list = mapper.readValue(array.toString(), List.class);

1voto

Min Hyoung Hong Points 578

Style Java 8

   JSONArray data = jsonObject.getJSONArray("some-node");

   List<JSONObject> list = StreamSupport.stream(data.spliterator(), false)
                .map(e -> (JSONObject)e)
                .collect(Collectors.toList());

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X