Tout d'abord bonjour à tous,
je me heurte depuis peu à un nouveau type de fichier (pour moi), le format Json.
J'ai besoin de lire un fichier Json qu'on me fournit et de l'afficher dans un Datagridview pour pouvoir par la suite rajouter des lignes à ce fichier et le sauvegarder.
Je débute dans le monde de la programmation et je me suis tourné vers ce langage il y a peu mais je suis assez vite perdu. D'autant plus quand il s'agit de ce format que je ne connais que très peu.
J'avais déjà par le passé déjà fait ce principe mais avec un un fichier xml et cela sans problème, j'aimerais utiliser ce même système si possible.
En cherchant un peu, ce qui revient le plus souvent c'est la librairie "Newtonsoft.Json" que j'ai tenté d'utiliser mais en vain.
J'ai trouvé sur le net une partie de code qui fait le job mais lorsque j'essaye de l'adapter au fichier que j'ai, je déchante un peu avec les systèmes de dé sérialisation etc... c'est pourquoi je demande votre aide sur ce problème.
Voici la structure du fichier que je reçois.
Code Json : 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 [ { "name":"losc", "logo":"Assets/TEXTURES/LOSC.png", "players":[ { "first_name":"Édison", "last_name":"Cavani", "avatar":"Assets/TEXTURES/cavani.png" }, { "first_name":"Némar", "last_name":"Jùnior", "avatar":"Assets/TEXTURES/cavani.png" } ] }, { "name":"chelsea", "logo":"Assets/TEXTURES/chelsea.png", "players":[ { "first_name":"Édison", "last_name":"Cavani", "avatar":"Assets/TEXTURES/cavani.png" }, { "first_name":"Arsène", "last_name":"Wenger", "avatar":"Assets/TEXTURES/ArseneWenger.png" } ] }, { "name":"bruges", "logo":"Assets/TEXTURES/bruges.png", "players":[ { "first_name":"Arsène", "last_name":"Wenger", "avatar":"Assets/TEXTURES/ArseneWenger.png" } ] } ]
Voici un début de code trouvé sur internet que j'ai tenté de modifier.
Code VB : 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 Imports Newtonsoft.Json Public Class Form1 Dim file As System.IO.StreamWriter Dim FileName As String = "C:\Users\temp\Downloads\teams.json" Dim content As String = IO.File.ReadAllText(FileName) Public Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load DataGridView1.AutoGenerateColumns = False Dim results As RootObject = JsonConvert.DeserializeObject(content, GetType(RootObject)) Dim dataResults = results.players.players.Select(Function(data) New Result With {.first_name = data.first_name, .last_name = data.last_name, .avatar = data.avatar}).ToList DataGridView1.DataSource = dataResults End Sub Public Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click IO.File.WriteAllText(FileName, JsonConvert.SerializeObject(content)) End Sub End Class Public Class Result Public Property first_name() As String Public Property last_name() As String Public Property avatar() As String End Class Public Class teams Public Property players() As List(Of Result) End Class Public Class RootObject Public Property players() As teams End Class
Le bouton 1 pour l'instant me permet de sauvegarder le contenu du Datagridview un peu dans le désordre. Par la suite, j'aimerais une fois la "Form" chargée, afficher le contenu du Json sur différent Datagridview rangé par "Tabcontrol". Un "Tabcontrol" correspondant à une catégorie "name" du fichier Json pour répertorier tous les joueurs d'une équipe par "Tabcontrol".
Est-ce que je suis sur la bonne voie ou je me trompe totalement de méthode?
Toutes réponses et bonne à prendre et me fera avancer, je vous en remercie donc d'avance.![]()
Partager