如何在ASP.NET(System.Runtime.Serialization.Json)中从json反序列化基本类型

问题描述 投票:2回答:1

我有一个小问题。当我将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}

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

asp.net json jsonserializer
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.