Я слышал, что Json.NET быстрее, чем DataContractJsonSerializer, и хотел попробовать...
Но я не мог найти никаких методов в JsonConvert, которые берут поток, а не строку.
Для десериализации файла, содержащего JSON на WinPhone, например, я использую следующий код для чтения содержимого файла в строку и затем десериализуем в JSON. В моем (очень ad-hoc) тестировании он примерно в 4 раза медленнее, чем с использованием DataContractJsonSerializer для десериализации прямо из потока...
// 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);
Я делаю это неправильно?
Спасибо,
Омри.