Bonjour, désolé si ce n'est pas le bon forum mais voilà je voudrais vérifier si mes fichiers JSON, enregistrés sur une tablette, sont complets ou non. Pour ce faire je regarde le nombre d'éléments qu’il comporte et vérifie si c'est le bon. Le truc c'est que j'y arrive pour un premier fichier, mais dès que je passe au fichier suivant (je passe pas une boucle for qui va lire tout le dossier stockant les JSON), celui ci est vide... et je ne sais pas pourquoi. Voici mon code :
Pourtant le "System.out.println(obj.toString());" m'affiche bien le contenu de mes deux fichiers JSON (le dossier ne contient que deux fichiers pour l'instant).
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 File directory = new File(s); String [] listefichiers; listefichiers=directory.list(); if (listefichiers.length > 0) { for (int i = 0; i < listefichiers.length; i++) { try { InputStream ips = new FileInputStream(s + listefichiers[i]); InputStreamReader ipsr = new InputStreamReader(ips); BufferedReader br = new BufferedReader(ipsr); JSONArray obj = new JSONArray(br.readLine()); int size = obj.length(); System.out.println(obj.toString()); if(obj.getJSONObject(i).getString("Questionnaire").compareTo("ICIQMLUTS")== 0 && size!=4){ System.out.println("Dossier incomplet!"); } else if(obj.getJSONObject(i).getString("Questionnaire").compareTo("EPICES")== 0 && size!=4) { System.out.println("Dossier incomplet!"); } else{ System.out.println("Dossier ok"); } br.close(); } catch (Exception e) { System.out.println(e.toString()); } } }
Mais lorsque les boucles if sont appelées voici l'erreur : "org.json.JSONException: No value for Questionnaire" alors que ça marche très bien pour le premier... En effet le "System.out.println(obj.toString());" m'affiche :
[{"Date":"2017-06-08","ID du patient":"03_010","Numero de visite":1,"Questionnaire":"ICIQMLUTS"},{"Question 1.a":"4","Question 1.b":"3"},{"Question 2.a":"4","Question 2.b":"5"},{"Question 3.a":"4","Question 3.b":"7"}] pour le premier fichier
et [{"Date":"2017-06-08","ID du patient":"03_010","Numero de visite":1,"Questionnaire":"EPICES"},{"Question 1":"0"},{"Question 2":"10.06"}] pour le deuxième.
Je pense qu'il doit y avoir un truc à réinitialiser ou truc du genre mais la je vois pas =/
Merci pour votre aide !
Partager