2

我有一个小问题。当我使用DataContractJsonSerializer复杂类型(自己的类型)时,它工作正常。但我必须从字符串中反序列化 TimeStamp 或 DateTime。所以我不能用 DataContract、DataMember 属性标记这些类型。

我写了一些代码

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.Exception {System.Runtime.Serialization.SerializationException}

我的问题是如何反序列化

4

1 回答 1

0

您可以尝试使用Json.Net库 - 过去它对我们来说效果很好。

于 2009-11-12T09:37:15.757 回答