2009-11-12 6 views
1

HI! J'ai un petit problème. Lorsque j'utilise DataContractJsonSerializer avec des types complexes (propres types), cela fonctionne correctement. Mais je dois désérialiser TimeStamp ou DateTime de la chaîne. Donc, je ne peux pas marquer ce type avec DataContract, attributs DataMember.Comment désérialiser des types élémentaires de json dans ASP.NET (System.Runtime.Serialization.Json)

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 j'attraper cette exception

{ "Il y avait une erreur désérialisation l'objet de type System.TimeSpan. Rencontrés caractère inattendu 'P'."} Système. exception {} System.Runtime.Serialization.SerializationException

Ma question est la Comment puis-je désérialiser

Répondre

0

Vous ca n essayez avec Json.Net bibliothèque - cela a plutôt bien fonctionné pour nous dans le passé.

Questions connexes