将列表转换为通用列表

本文关键字:列表 转换 | 更新日期: 2023-09-27 18:36:13

我正在尝试将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 Data
{
    public string Name { get; set; }
    public int SomeValue {get; set; }
}

token拥有SomeValueName钥匙。

您的CreateData方法是

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