我有一个小问题。当我将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}
我的问题是我如何反序列化
您可以尝试使用Json.Net库-过去对我们来说效果很好。