2009-11-12 70 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圖書館 - 它在過去對我們很有幫助。