Bonjour,
Je viens demander un coup de pouce pour un problème sur lequel je bloque depuis quelques heures.
J'ai une chaîne de caractères au format JSON que j'ai désérialisé afin d'en obtenir un dictionnaire :
Je souhaiterais pouvoir parcourir tous les enregistrements du champ "ObjectsType1" de ce dictionnaire afin d'y appliquer une action.
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 { "JSON":{ "ObjectsType1":[ { "variable1":xxx "variable2":xxx "variable3":xxx "variable4":{ "variable4_1":xxx "variable4_2":xxx } }, { "variable1":xxx "variable2":xxx "variable3":xxx "variable4":{ "variable4_1":xxx "variable4_2":xxx } } ], "ObjectsType2":[ { "variable1":xxx "variable2":xxx "variable3":xxx "variable4":{ "variable4_1":xxx "variable4_2":xxx } }, { "variable1":xxx "variable2":xxx "variable3":xxx "variable4":{ "variable4_1":xxx "variable4_2":xxx } } ] } }
Et faire de même avec les "ObjectsType2" en appliquant une autre action.
S'il n'y avait qu'un enregistrement par type, je pourrais accéder aux variables en appelant les valeurs ainsi :
Mais le nombre d'enregistrements de chaque type est variable et les valeurs liées aux clés peuvent être des String, des Int ou des Doubles.
Code : Sélectionner tout - Visualiser dans une fenêtre à part var variable1 = dict["JSON"]["ObjectsType1"]["variable1"];
Donc j'ai essayé de boucler sur le dictionnaire, mais ensuite, je ne vois pas comment parcourir les enregistrements...
Savez-vous si cela est possible avec un foreach, du style comme ça ?
J'ai essayé d'accéder aux clés et aux valeurs de différentes manières...Mais je ne trouve pas de méthode "jolie" qui puisse fonctionner...
Code : Sélectionner tout - Visualiser dans une fenêtre à part foreach (KeyValuePair<string, dynamic> entry in dict["JSON"]["ObjectsType1"]){ ... }
Pour être plus précise, voici ce que je souhaiterais atteindre :
Je suis à sûre que je ne suis pas loin de la solution mais je ne parviens pas à mettre le doigt dessus.
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 foreach (KeyValuePair<string, dynamic> entry in dict["JSON"]["ObjectsType1"]){ var variable1 = ...["variable1"]; var variable2 = ...["variable2"]; .... doSomethingType1(); } foreach (KeyValuePair<string, dynamic> entry in dict["JSON"]["ObjectsType2"]){ var variable1 = ...["variable1"]; var variable2 = ...["variable2"]; .... doSomethingType2(); }
Si quelqu'un sait me répondre, merci infiniment d'avance.
Partager