我開發了一個dll,允許我使用我的API的某些方法。所有工作都很好,但是現在我遇到了linq問題。特別是我通常將所有從api返回的結果存儲在對象列表中。所以我可以遍歷它並分離每個項目。現在我有這個類:無法用linq創建嵌套列表中的對象列表
public class Agent
{
public int id { get; set; }
public string name { get; set; }
}
public class RootObject
{
public List<Agent> agent { get; set; }
}
我反序列化JSON是這樣的:
var obj = JsonConvert.DeserializeObject<RootObject>(responseText);
return obj.Select(o => o.agent).ToList();
我現在可以正確地反序列化JSON的「原因是Agent
列表,但我不能使用方法返回對象的列表:
return obj.Select(o => o.agent).ToList();
的.Select
被紅色下劃線,編譯器告訴我:
Agent.RootObject不包含定義選擇
相反,如果我使用:var obj = JsonConvert.DeserializeObject<List<RootObject>>(responseText);
所有返回行紅色下劃線:
不能轉換系統.Collections.Generic.List in System.Collections.Generic.List
那麼我該如何解決這個問題呢?
如果'obj'是一個'RootObject',那麼你會希望'obj.agent.Select(o => o.company)',儘管我在你的類定義中沒有看到'company', –
抱歉修復錯字。如果你看看代理類定義,你可以看到這是一個列表 – IlDrugo
@IlDrugo在這種情況下,只需使用'obj.Agent'。 –