将列表转换为通用列表
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; }
}
让 token
有 SomeValue
和 Name
键。
您的 CreateData
方法将是
Data CreateData(JToken token)
{
return new Data
{
Name = token.Value<string>("Name"),
SomeValue = token.Value<int>("SomeValue")
}
}
我正在尝试将 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; }
}
让 token
有 SomeValue
和 Name
键。
您的 CreateData
方法将是
Data CreateData(JToken token)
{
return new Data
{
Name = token.Value<string>("Name"),
SomeValue = token.Value<int>("SomeValue")
}
}