affiche nous le JSON que tu produis car on ne sait pas comment est fait ton objet JS Data
le resultat de alert(data) semble indiqué que data est un objet et pas un tableau
donc data[0] n'existe pas
A+JYT
affiche nous le JSON que tu produis car on ne sait pas comment est fait ton objet JS Data
le resultat de alert(data) semble indiqué que data est un objet et pas un tableau
donc data[0] n'existe pas
A+JYT
avant de parser mets ton data dans un innerHTML de ta page ...
tu verras ce que reçoit javascript comme chaine et tu pourras constater si elles est bien formatée...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag![]()
Venez sur le Chat de Développez !
Alors voici le JSON que je produis :
{"dataForTree":[[["business1",null],[null,null]],[[null,null],[null,"service1"]]]}
J'ai affiché avant de parser dans une div. J'obtiens cela :
{"dataForTree":[[["business1",null],[null,null]],[[null,null],[null,"service1"]]]}
D'avance merci pour votre aide ;-)
s'il a peu le parser avec http://json.parser.online.fr/ c'est que la JSON est correct
mais ce n'est peut être pas un tableau mais un objet qui contient un membre qui lui est le tableau
donc tant qu'on ne sais pas quel est le contenu on ne peut pas dire comment est construit l'objet js
A+JYT
c'est donc bien un objet
{"dataForTree":[[["business1",null],[null,null]],[[null,null],[null,"service1"]]]}
cela va te donner un objet data avec un membre dataForTree
tu peux faireA+JYT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 alert(data.dataForTree[0][0][0]); alert(data.dataForTree[1][1][1]);
Voici le contenu :
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
22
23
24
25
26
27 String[][][] dataForTree = new String[2][2][2]; dataForTree[0][0][0] = "business1"; dataForTree[1][1][1] = "service1"; org.json.JSONObject dataObject; dataObject = new org.json.JSONObject(dataForTree); // dataForTree est mon tableau de String String dataJSON = dataObject.toString(); String myString = ""; try { myString = new org.json.JSONObject().put("dataForTree", dataForTree).toString(); System.out.println(myString); }catch(org.json.JSONException e) { System.out.println(e.toString()); } String resourceID = resourceRequest.getResourceID(); if(resourceID.equals("tempo")) { PrintWriter writer = resourceResponse.getWriter(); writer.print(myString); }
on c'est croisé
avec ma réponse précédente tu devrais pouvoir t'en sortir
je te conseille d'ajouter quelques éléments à ton JSON
ainsi ton json sera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 String myString = ""; try { myString = new org.json.JSONObject().put("dataForTree", dataForTree) .put("success", true) .toString(); System.out.println(myString); }catch(org.json.JSONException e) { System.out.println("{ \"success\":false, \"error\":\"".concat(e.toString()).concat("\"}")); }
{"dataForTree":[[["business1",null],[null,null]],[[null,null],[null,"service1"]]], "success":true} s'il n'y a pas d'erreur
et {"success":false, "error":"le message de l'exception"}
du coup dans ton javascript
tu peux tester le résultatA+JYT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (data.success) { alert(data.dataForTree[0][0][0]); alert(data.dataForTree[1][1][1]); } else { alert(data.error); }
sekaijin je te remercie beaucoup. Ca fonctionne parfaitement.
Je remercie également les participants de ce Topic pour m'avoir aidé.
Salutations
Nicolas
Partager