Bonjour,
Il faut que je puisse créer un nom de variable dynamique pour ma boucle fonctionne correctement.
Mon problème, à chaque passage, le "JSONObject detail " est incorporé dans le jsonArray et les valeurs de "detail" prend en compte la dernière affectation.
Je me retrouve seulement avec la dernière société enregistrée.

Je pensais mettre une variable qui changerait de valeur à chaque passage pour JSONObject mais c'est pas possible.
Je ne vois pas comment faire,
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
JSONObject parent = new JSONObject();
		           JSONArray jsonArray = new JSONArray();
	        	   JSONObject detail = new JSONObject();
		           for (Contact_Pro donnee : LISTE_PRO) {  
		        	   Log.i("boucle for LISTEPRO", donnee.Societe);
		        	   detail.put("societe", donnee.Societe);
		        	   detail.put("adresse1", donnee.Adresse1);
		        	   detail.put("adresse2", donnee.Adresse2);
		        	   detail.put("ville ", donnee.Ville);
		        	   detail.put("standard", donnee.Standard);
		        	   detail.put("mailgeneral", donnee.Mail);
		        	   Log.d("output detail", detail.toString(2));
		        	   jsonArray.put(detail);
 parent.put("contact_pro", jsonArray);
		           Log.d("output", parent.toString(2));
		      		}
voici le logCat:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
...05-17 10:02:59.409: I/boucle for LISTEPRO(3882): JNL Services
05-17 10:02:59.419: D/output detail(3882): {
05-17 10:02:59.419: D/output detail(3882):   "adresse1": "",
05-17 10:02:59.419: D/output detail(3882):   "mailgeneral": "",
05-17 10:02:59.419: D/output detail(3882):   "adresse2": "",
05-17 10:02:59.419: D/output detail(3882):   "societe": "JNL Services",
05-17 10:02:59.419: D/output detail(3882):   "standard": "02.99.99.99.00",
05-17 10:02:59.419: D/output detail(3882):   "ville ": ""
05-17 10:02:59.419: D/output detail(3882): }
05-17 10:02:59.419: I/boucle for LISTEPRO(3882): Menuiserie Remy Pelerin
05-17 10:02:59.439: D/output detail(3882): {
05-17 10:02:59.439: D/output detail(3882):   "adresse1": "ZA Ste CROIX",
05-17 10:02:59.439: D/output detail(3882):   "mailgeneral": "",
05-17 10:02:59.439: D/output detail(3882):   "adresse2": "",
05-17 10:02:59.439: D/output detail(3882):   "societe": "Menuiserie Remy Pelerin",
05-17 10:02:59.439: D/output detail(3882):   "standard": "02.99.37.38.50",
05-17 10:02:59.439: D/output detail(3882):   "ville ": "CHATEAUGIRON"
05-17 10:02:59.439: D/output detail(3882): }
...
et pour " Log.d("output", parent.toString(2));", donc le résultat final
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
...
05-17 10:02:59.459: D/output(3882): {
05-17 10:02:59.459: D/output(3882):   "contact_pro": [
05-17 10:02:59.459: D/output(3882):     {
05-17 10:02:59.459: D/output(3882):       "adresse1": "La Fouaye",
05-17 10:02:59.459: D/output(3882):       "mailgeneral": "contact@satel35.fr",
05-17 10:02:59.459: D/output(3882):       "adresse2": "",
05-17 10:02:59.459: D/output(3882):       "societe": "SATEL",
05-17 10:02:59.459: D/output(3882):       "standard": "02.99.85.62.55",
05-17 10:02:59.459: D/output(3882):       "ville ": "Saint Gilles"
05-17 10:02:59.459: D/output(3882):     },
05-17 10:02:59.459: D/output(3882):     {
05-17 10:02:59.459: D/output(3882):       "adresse1": "La Fouaye",
05-17 10:02:59.459: D/output(3882):       "mailgeneral": "contact@satel35.fr",
05-17 10:02:59.459: D/output(3882):       "adresse2": "",
05-17 10:02:59.459: D/output(3882):       "societe": "SATEL",
05-17 10:02:59.459: D/output(3882):       "standard": "02.99.85.62.55",
05-17 10:02:59.459: D/output(3882):       "ville ": "Saint Gilles"
05-17 10:02:59.459: D/output(3882):     },
...
Merci pour votre aide
cedric