我想将var转换为列表值。我得到'myobj'var值。现在我该如何转换为CandidateResume列表?。
JavaScriptSerializer jsSerializer = new JavaScriptSerializer() { MaxJsonLength = 86753090 };
var myobj = jsSerializer.Deserialize<List<List<CandidateResume>>>(description);
我的CandidateResume类就像这样
public class CandidateResume
{
public string name { get; set; }
public string url { get; set; }
public string summary { get; set; }
public string role { get; set; }
public string compensation { get; set; }
public string education { get; set; }
public string expertise { get; set; }
public string years { get; set; }
public string relocation { get; set; }
public string resume { get; set; }
public string resumeExtension { get; set; }
public string resumeMimeType { get; set; }
}
请在屏幕截图
中查看此当前项目值我如何捕捉物品价值?
foreach (var item in myobj)
{
WebScrappingCandidate webScrappingCandidate = new WebScrappingCandidate();
}
答案 0 :(得分:4)
Deserialize<T>
会返回T
(MSDN),这意味着myObj
已经是类型:List<List<CandidateResume>>
。
请记住,var
不是一种类型,它只是使用类型推断来简化:&#34;无论我被分配到哪种类型&#34;
To&#34; flatten&#34;这个列表,你可以使用SelectMany
:
foreach (CandidateResume resume in myObj.SelectMany(i => i))
{
}
当然,还有其他方法,但答案的关键是你已经一份候选简历列表。无需转换。
答案 1 :(得分:1)
您已有一个列表,Deserialize
方法返回一个类型化结果:
List<List<CandidateResume>> myobj =
jsSerializer.Deserialize<List<List<CandidateResume>>>(description);
循环时,每个项目都是一个列表:
foreach (List<CandidateResume> item in myobj) {
...
}