Bonjour/Bonsoir,
Je commence à tâter le java depuis quelque temps mais malgré mes quelques compétences, je dois m’en remettre à vous.
Je développe actuellement une application Java qui inclue la possibilité d’importer et d’exploiter les données d’un fichier .json. Seulement voilà, je rencontre des difficultés concernant le traitement de données.
Le fichier Json à la structure suivante :
Si j’ai bien compris, le fichier est composé d’un tableau « Objets » comportant des objets (qui à leur tour disposent de données).
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 { "Objets " : [ { "Objet1" :{ "Donnée1" : "donnée1", "Donnée2" : "donnée2", "Donnée3" : "donnée3", } "Donnée1" : "donnée1", "Donnée2" : "donnée2", }, { "Objet2" :{ "Donnée4" : "donnée4", "Donnée5" : "donnée5", "Donnée6" : "donnée6", } "Donnée4" : "donnée4", "Donnée5" : "donnée5", }, … ] }
En parcourant le net, j’ai réussi à trouver des librairies de dé-sérialisation (gson) qui me permettent de transformer ce que je récupère dans le type souhaité. Le hic, c’est que je ne reçois que les données qui sont en rouge (alors qu'elles ne m’importent peu car elles sont inclues dans l'objets au dessus, vous suivez ?).
Voici mon reader :
Tout compile et ma classe Player (mon objet à traiter) dispose des mêmes noms d’attributs que ceux présents dans le fichier json.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 try { String url = "C:/Users/user/exempleJson.json"; JsonReader reader = new JsonReader(new InputStreamReader(new FileInputStream(url))); JsonParser jsonParser = new JsonParser(); JsonArray userArray = jsonParser.parse(reader).getAsJsonArray(); List Player = new ArrayList<>(); Gson myGson = new Gson(); for (JsonElement aUser : userArray) { Player aPlayer = myGson.fromJson(aUser, Player.class); Player.add(aPlayer); } }
Néanmoins, voilà le résultat obtenu lors de l’exécution :
Ma question est donc : Comment dois-je m'y prendre afin de récupérer tous les éléments d'un objet et non pas les deux lignes inutiles ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Donnée1 donnée2 null Donnée3 donnée4 null
Si certain(e)s peuvent m’éclairer sur la démarche à suivre, je vous en serais très reconnaissant.
D’avance merci !
Energizing
Partager