Edit : je viens de penser que ceci ne marche que si tu as un seul champ foireux, un seul champ qui peut être tableau et qui mal écrit en JSON si t'as qu'une valeur.
Si tu sais pas à l'avance quel champ risque d'etre foireux parce que t'as 50 tableaux, ca marche pas... :/
Si c'est le cas, ben, essaie de voir si un autre parser Json passerait outre la malformation json initiale, on sait jamais...
Ou alors, faudra ptet plonger dans le camboui et parser toi meme (en partie) ton JSON je pense :X
En fait le problème vient du fait que c'est une valeur qui est dans un sous objet qui peut être un array ou pas.
du coup je peux pas faire de try_catch parce que dans le fichier json que je récupère, il y a parfois des array et parfois des valeurs pour les mêmes objets. J'ai contourné en bidouillant mais c'est dégueulasse :d
Pour tout dire voila ce que j'ai fait :
-considérer que l'objet que j'ai est de type object (comme ça tableau et variable peut rentrer dedans)
-boucler sur les objets obtenus et tester si c'est un JObject ou un JArray
-les caster en faisant jsonconvert.deserializeobject<list<type>> ou jsonconvert.deserializeobject<type> en fonction de ce que c'est, puis les ajouter en liste. Puis caster dans le reste du code.
C'est dégueu mais ça marche.
Dernière modification par Deuterium ; 21/01/2016 à 14h22.
|