DataContractJsonSerializer - Désérialisation DateTime dans la Liste des<object>

J'ai de la difficulté à l'aide de la System.Moment de l'exécution.La sérialisation.Json.DataContractJsonSerializer classe pour désérialiser DateTime les instances contenues dans un List<object>. Je ne peux pas sembler obtenir DateTime pour désérialiser de retour dans le type d'origine. Le DataContractJsonSerializer toujours désérialise dans un type de chaîne avec le format "/Date(1329159196126-0500)/". Il va sérialiser et désérialiser des beaux-si je le lance par le biais de l'aide d'un typage fort List<DateTime>, cependant, je suis à la recherche de façon à obtenir le sérialiseur, d'identifier et désérialiser DateTimes lorsque rencontrées à l'intérieur d'une simple liste ou d'une matrice de object.

Noter que DateTimes sont le seul type en dehors des primitives et des cordes que cette liste ne pourra jamais contenir.
Voici l'extrait de code que j'utilise pour tester cela.

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>;
}

OriginalL'auteur Matthew Ruston | 2012-02-13