J'ai entendu dire que Json.NET est plus rapide que DataContractJsonSerializer, et je voulais l'essayer ...
Mais je n'ai pas trouvé de méthodes sur JsonConvert qui prennent un flux plutôt qu'une chaîne.
Pour désérialiser un fichier contenant JSON sur WinPhone, par exemple, j'utilise le code suivant pour lire le contenu du fichier dans une chaîne, puis désérialiser en JSON. Il semble être environ 4 fois plus lent dans mes tests (très ad hoc) que d'utiliser DataContractJsonSerializer pour désérialiser directement à partir du flux ...
// DCJS
DataContractJsonSerializer dc = new DataContractJsonSerializer(typeof(Constants));
Constants constants = (Constants)dc.ReadObject(stream);
// JSON.NET
string json = new StreamReader(stream).ReadToEnd();
Constants constants = JsonConvert.DeserializeObject<Constants>(json);
Est-ce que je fais mal?