相关疑难解决方法(0)

DataContractJsonSerializer - 在List <object>中反序列化DateTime

我无法使用System.Runtime.Serialization.Json.DataContractJsonSerializer该类反序列化a中包含的DateTime实例List<object>.我似乎无法将DateTime反序列化为原始类型.将DataContractJsonSerializer始终反序列化到一个字符串类型的格式"/Date(1329159196126-0500)/".如果我通过使用强类型运行它,它将序列化和反序列化很好List<DateTime>,但是我正在寻找方法让串行器在简单列表或数组中遇到时识别并正确反序列化DateTimes object.

请注意,除了此列表将包含的基元和字符串之外,DateTimes是唯一的类型.这是我用来测试它的代码片段.

var list = new List<object> { 27, "foo bar", 12.34m, true, DateTime.Now };
var serializer = new DataContractJsonSerializer(typeof (List<object>));
using (MemoryStream ms = new MemoryStream())
{
    serializer.WriteObject(ms, list);
    ms.Position = 0;
    var deserializedList = serializer.ReadObject(ms) as List<object>;
}
Run Code Online (Sandbox Code Playgroud)

c# json datacontractjsonserializer

9
推荐指数
3
解决办法
2万
查看次数

标签 统计

c# ×1

datacontractjsonserializer ×1

json ×1