Je suis resté bloqué avec la bibliothèque JSON.NET et sa méthode désherializeObject. La documentation n'est pas très claire avec ce qui pourrait se passer ici, alors j'apprécierais que quelqu'un puisse expliquer comment obtenir la manière de désérialiser Json dans la liste des objets utilisateur.
J'essaie de désérialiser ce Json P>
public class User { ... [OnDeserializing] internal void OnDeserializing(StreamingContext context) { } }
4 Réponses :
J'ai trouvé quel était le problème. JSON.NET désorientait mes entiers de Json à l'INT64 à la place à l'INT32, donc au lieu d'INT que j'ai mis longtemps et que tout a fonctionné comme il se doit en premier lieu. P>
Y a-t-il un moyen de préciser que je veux que les propriétés désérialisent dans int? p>
La réponse de Jan fournit précisément ce dont vous avez besoin et à partir de là, vous pouvez utiliser int.parse (stressvalue) code> ou
int.tryparse (stressvalue) code> pour obtenir les valeurs INT.
À ce moment-là, vous avez peut-être résolu les problèmes, mais si quelqu'un trébuche sur cela pourrait vous aider.
J'utilise la bibliothèque JSON.NET pour désexeriser des objets hiérarchiques complexes personnalisés. J'ai quelques convertisseurs pour convertir des objets JSON en C # #. p>
Vous pouvez utiliser JSONCONVERTATtributes pour lancer les types de retour pour les propriétés. P>
[JsonConverter(typeof(Int32))] public int xpos { get; set; }
J'ai le même problème que c'est parce que je n'ai pas de constructeur par défaut (constructeur avec des paramètres vides) dans ma classe p>
Je n'avais pas de chance avec une liste de t non plus, pas d'erreur, mais seulement des résultats NULL:
SomeClassList obj = JsonConvert.DeserializeObject<SomeClassList>(jsonstring); public class SomeClass { public string SomeProp {get;set;} (...) } public class SomeClassList { public List<SomeClass> SomeClass {get;set;} }
Merci d'avoir montré votre travail. M'a aidé à travailler à travers ma question du Json! :)
Merci beaucoup sa résolution mon problème. :RÉ