初始化JsonConvert.DeserializeObject

时间:2016-08-12 20:02:36

标签: c# optimization json.net

我有一大块JSON我用Newtonsoft.json进行反序列化

Users.UserDataDict response = JsonConvert.DeserializeObject<Users.UserDataDict>(teststring);

我注意到我第一次称这种方法它的速度非常慢(比它需要的时间长几百毫秒)。所以我正在做的是在应用程序启动某些大型虚拟数据时调用它,这样当用户与应用程序交互时它就不会慢。无论如何我可以正确地初始化它或增加它的缓冲区大小或任何需要做的事情,而不是在启动一些非常大的数据时调用它?

1 个答案:

答案 0 :(得分:1)

似乎JsonConvert缓存每个类型被解除/序列化。基于此,对JsonConvert.SerializeObject / JsonConvert.DeserializeObject的第一次调用可能需要更长时间&#34;。可以找到更详细的答案here