如何在JEnumerable <JToken>对象中查看Children()。ToList()方法?

Iva*_*lko 4 c# linq json json.net windows-phone-7

我尝试通过JSON.NET解析JSON,并且在App类中可以,但是如果我想在自定义类中编写解析方法,VS ToList()JEnumerable<JToken>对象中看不到该方法。

清单:

JObject newsResponse = JObject.Parse(e.Result);
IList<JToken> results = newsResponse["NewsResponse"]["NewsItems"]["NewsItem"].Children().ToList(); //Here don't see ToList()
List<News> newsResults = new List<News>();

foreach (JToken result in results)
{
    News searchResult = JsonConvert.DeserializeObject<News>(result.ToString());
    newsResults.Add(searchResult);
}
Run Code Online (Sandbox Code Playgroud)

错误:

'Newtonsoft.Json.Linq.JEnumerable'不包含'ToList'的定义,也找不到扩展方法'ToList'接受类型为'Newtonsoft.Json.Linq.JEnumerable'的第一个参数(您是否缺少using指令?或装配参考?)

jv4*_*v42 5

您不需要在ToList()这里使用。

var results = newsResponse["NewsResponse"]["NewsItems"]["NewsItem"].Children(); 
Run Code Online (Sandbox Code Playgroud)

这将产生一个可枚举的(惰性)集合,可与您的foreach以下对象一起使用。

注意:我正在使用var,因为我不知道这里返回的确切类型,但是我们并不真正在意它,它可能非常复杂,因此非常有用。