DataContractJsonSerializer - десериализация DateTime в List <объект>
У меня проблемы с использованиемSystem.Runtime.Serialization.Json.DataContractJsonSerializer
класс для десериализации экземпляров 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>;
}