2009-11-12 72 views
1

嗨! 我有一个小问题。 当我使用DataContractJsonSerializer与复杂类型(自己的类型)它工作正常。但我必须从字符串反序列化TimeStamp或DateTime。所以我不能用DataContract,DataMember属性来标记这些类型。如何从ASP.NET反序列化json中的基本类型(System.Runtime.Serialization.Json)

我写了一些代码

 

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 
      { 
       ; 
      } 
 

我捕获这个异常

{“出现错误反序列化类型的对象System.TimeSpan。遇到意外的字符‘P’。”}系统。异常{} System.Runtime.Serialization.SerializationException

我的问题是 我如何反序列化

回答

0

您CA ñ尝试Json.Net图书馆 - 它在过去对我们很有帮助。