Comment puis-je désérialiser les types élémentaires de JSON dans ASP.NET (System.Runtime.Serialization.Json)
-
19-09-2019 - |
Question
HI! J'ai un petit problème. Lorsque j'utilise DataContractJsonSerializer avec des types complexes (propres types), il fonctionne très bien. Mais je dois désérialiser TimeStamp ou DateTime de chaîne. Donc, je ne peux pas marquer ce type avec DataContract, les attributs DataMember.
J'ai écrit un code
string jsonedTS="PT2M15S";
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(TimeSpan));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonedTS));
try
{
result.Takes = (TimeSpan)jsonSerializer.ReadObject(ms);
}
catch
{
;
}
Et je prends cette exception
{ "Il y avait une erreur désérialisation l'objet de type System.TimeSpan. Caractère inattendu Rencontrés 'P'."} {System.Exception System.Runtime.Serialization.SerializationException}
Ma question est la Comment puis-je désérialiser
La solution
Vous pouvez essayer avec la bibliothèque Json.Net - il a travaillé assez bien pour nous dans le passé.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow