我下面有3节课。
[Serializable]
public class Classa {
public list<Object> list {get; set;}
}
[Serializable]
public class Classb {
public string name {get; set;}
public string nickname {get; set;}
}
[Serializable]
public class Classc {
public string type {get; set;}
public string price {get; set;}
}
在我的计划中,当我传递与List<Object>
或List<Classb>
匹配的JSON结构时,我想将List<Classc>
投射到Classb
或Classc
...有没有办法施展它?
[HttpPost]
[ActionName("Import")]
[EnableCors(origins: "*", headers: "*", methods: "*")]
public Object Import([FromBody]Classa ImportData)
{
List<Classb> blist = a.list.Cast<Classb>().toList();
}
它抛出:
无法转换类型&#39; Newtonsoft.Json.Linq.JObject&#39;输入 &#39; CLASSB&#39;
我试过了:
List<Classb> blist = aOfType<Classb>().ToList();
成功但没有价值......
答案 0 :(得分:0)
在Classa中,您有一个包含对象的列表,但是您需要一个包含Classb的列表。所以改变这个
string(5) "TX628"
到
[Serializable]
public class Classa{
list<Object> list{get;set;}
}
这个
[Serializable]
public class Classa{
list<Classb> list{get;set;}
}
可以
List<Classb> blist = a.list.Cast<Classb>().toList();
编辑: 你有一个错字
List<Classb> blist = a.list;