Bonjour,
Je vous le fais rapidement, je récupère des données d'une BDD dans un ResultSet rs, je souhaiterais copier ces données dans un objet JSON en utilisant l'API org.json.simple.JSONObject (http://code.google.com/p/json-simple/).
Mon problème, c'est qu'à l'issue du parcours de mon ResulSet, obj2 ne contient que la dernière ligne des données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 JSONObject obj2 = new JSONObject(); while (rs.next()) { int row = rs.getRow(); //Je veux mettre chaque champs de la ligne courante du ResulSet // dans une liste de String de type ArrayList ArrayList<String> dataColumns = new ArrayList<String>(nbCol); for (int columnIndex = 1; columnIndex <= nbCol; columnIndex++) { dataColumns.add((columnIndex - 1), rs.getString(columnIndex)); } //Je veux maintenant rajouter l'ArrayList dans mon objet JSON obj2.put("row",dataColumns); }
Je me dis que c'est parce qu'à chaque nouvelle ligne, l'ArrayList dataColumns est créé et donc remis à zéro à chaque itération. Dans ce cas là, comment faire en sorte que obj2 contiennent un ArrayList de chaque ligne plutôt qu'uniquement le dernier ?
J'ai essayé avec un .clone() sur dataColumns, sans succès.
Merci de votre aide.
Partager