【问题标题】:How can I deserialize elementary types from json in ASP.NET(System.Runtime.Serialization.Json)如何从 ASP.NET 中的 json 反序列化基本类型(System.Runtime.Serialization.Json)
【发布时间】:2010-12-15 19:34:36
【问题描述】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多