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

时间:2009-11-12 09:34:55

标签: asp.net json jsonserializer

HI! 我有一点问题。 当我使用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}

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

1 个答案:

答案 0 :(得分:0)

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