我有一个来自Web服务的JSON响应,我想将其转换为List<Foo>
。我知道我可以通过几种方法来做到这一点,但是支持JSON.NET文档中可以看到的泛型的唯一方法是来自string
。
响应可能很大,所以我真的不想将其全部读入内存,然后将其转换为我的对象。
我尝试过:
using (var response = request.GetResponse())
{
using (var responseStream = response.GetResponseStream())
{
if (responseStream == null) throw new Exception("ResponseStream is null!!!");
using (var reader = new StreamReader(responseStream))
{
using (var jsonReader = new JsonTextReader(reader))
{
// var foos = JsonConvert.DeserializeObject<List<Foo>>() -- Requires a string
// var foos = new JsonConverter<List<Foo>>().ReadJson()... -- Non generic
}
}
}
}
是否可以直接从流中将其读取到List<Foo>
中而不必这样做?