从Web服务(内存不足)反序列化大型JSON对象

我有一个程序,从Web服务反序列化大对象。 在webservice调用和200之后,代码看起来像这样。

JsonConvert.DeserializeObject<List>(resp.Content.ReadAsStringAsync().Result).ToList() 

有时在运行此过程时,我将得到一个聚合exception,它将内部exception显示为内存不足。 我无法确定它是否是读取JSON数据字符串(可能非常大)或导致此问题的反序列化的过程。 我想要做的是打破字符串并从响应中单独拉回每个JSON对象,然后反序列化它。 我很难找到一种方法,一次只从响应中带出一个JSON对象。 任何建议都非常感谢!

 HttpClient client = new HttpClient(); using (Stream s = client.GetStreamAsync("http://www.test.com/large.json").Result) using (StreamReader sr = new StreamReader(s)) using (JsonReader reader = new JsonTextReader(sr)) { JsonSerializer serializer = new JsonSerializer(); // read the json from a stream // json size doesn't matter because only a small piece is read at a time from the HTTP request Person p = serializer.Deserialize(reader); }