将列表转换为通用列表

Convert List to generic list

我正在尝试将 json 数据转换为通用列表

string result = e.Result;
JObject o = JObject.Parse(result);
var results = o["Data"];
List<Data> _lst = results.ToList();

但是列表转换显示错误

 'System.Collections.Generic.IEnumerable<Newtonsoft.Json.Linq.JToken>' to 'System.Collections.Generic.List<PhoneApp2.Employee.CandidateManager.Data>'. An explicit conversion exists (are you missing a cast?)  

您应该将 JToken 转换为 Data:

Data CreateData(JToken token)
{
    // some code for creating Data from token.
}

然后就可以使用了:

var _lst = results.Select(CreateData).ToList();

编辑

例如你的 Data class 看起来像这样:

class Data
{
    public string Name { get; set; }

    public int SomeValue {get; set; }
}

tokenSomeValueName 键。

您的 CreateData 方法将是

Data CreateData(JToken token)
{
    return new Data
    {
        Name = token.Value<string>("Name"),
        SomeValue = token.Value<int>("SomeValue")
    }
}