最佳答案
我听说 Json.NET 比 DataContractJsonSerializer 更快,所以想试试..。
但是我在 JsonConvert 上找不到任何接受流而不是字符串的方法。
例如,对于在 WinPhone 上反序列化包含 JSON 的文件,我使用以下代码将文件内容读入字符串,然后反序列化为 JSON。在我的(非常特别的)测试中,它似乎比使用 DataContractJsonSerializer 直接从流反序列化要慢4倍..。
// 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);
我做错了吗?