Bonjour tout le monde,
Je développe actuellement une application Java (Shared Collection Framework).
J'utilise un restful server pour gérer les collections. Tout marche bien (upload, download,etc)
J'utilise JSON pour récupérer des map<String key, String obj>.
Je voudrais afficher une collection souhaité ainsi que ses fils et différents objets(juste le nom).
Pour cela le serveur me renvoie toute les collections créer précédemment dans ma base de données.
Exemple :
Et vu que ça me renvoie un string je veux parser le string en JSON mais j'ai toujours cette erreur :
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 JSONParser readAllParser = new JSONParser(); String resp; resp = controller.readAllCollectionInfo(); System.out.println(resp); try { Object readAllO = readAllParser.parse(resp); JSONArray arr = new JSONArray(); arr.add(readAllO); for (int i = 0; i < arr.size(); i++) { System.out.println(arr.get(i)); } } catch (ParseException ex) { Logger.getLogger(View.class.getName()).log(Level.SEVERE, null, ex); }
ça pointe sur Object readAllO = readAllParser.parse(resp);
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 mars 28, 2016 12:30:30 PM shared.collection.framework.View readAllActionPerformed GRAVE: null Unexpected token LEFT BRACE({) at position 15. at org.json.simple.parser.JSONParser.parse(JSONParser.java:146) at org.json.simple.parser.JSONParser.parse(JSONParser.java:81) at org.json.simple.parser.JSONParser.parse(JSONParser.java:75) at shared.collection.framework.View.readAllActionPerformed(View.java:650) at shared.collection.framework.View.access$1400(View.java:21) at shared.collection.framework.View$15.actionPerformed(View.java:398) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252) at java.awt.Component.processMouseEvent(Component.java:6535) at javax.swing.JComponent.processMouseEvent(JComponent.java:3324) at java.awt.Component.processEvent(Component.java:6300) at java.awt.Container.processEvent(Container.java:2236) at java.awt.Component.dispatchEventImpl(Component.java:4891) at java.awt.Container.dispatchEventImpl(Container.java:2294) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466) at java.awt.Container.dispatchEventImpl(Container.java:2280) at java.awt.Window.dispatchEventImpl(Window.java:2750) at java.awt.Component.dispatchEvent(Component.java:4713) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86) at java.awt.EventQueue$4.run(EventQueue.java:731) at java.awt.EventQueue$4.run(EventQueue.java:729) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Sachant que resp = {"9833":"null"}{"aq":"null"}{"az":["azazaz"]}{"azazaza":"null"}{"azz":"null"}{"collection":"null"}{"collection1":"null"}{"collection12":["collectionchild","art1","art2","doc1"]}
Si quelqu'un a une idée de comment parser ce String en plusieurs Array pourquoi pas pour ensuite chercher juste une collection
En gros il s'arrête à la 1er collection car il voit un autre { mais je ne peux pas utiliser de parenthèse en JSON car ce n'est pas un objet valide en JSON.
Merci D'avance
Cordialement
Quentin
Partager