var listType = typeof(List<>).MakeGenericType(item);
var list = jss.Deserialize(responseStr, listType);
代码中的item 是某一类型的Type,运行起来后,list 是某一类型的List集合,我想对list 进行遍历,怎么做,第一次发,希望大侠能帮助
你是想json反序列化?
foreach(var item in list) { item.field }
Deserialize 出来的应该类型是object .
但是,根据你的反序列化的类型,可以直接转换成你的 List<Object> 即可, 每个元素的类型可以在后期遍历的时候再转换,如果Item 类型有抽象类型,可以直接转换成List<抽象类型> 即可,这里有一个协变过程。不会有问题。
var listType = typeof(List<>).MakeGenericType(typeof(int));
dynamic list = jss.Deserialize("[1,2,3]", listType);
foreach (var item in list)
{
}
看这意思,好像是感觉要自动识别序列化出来的类型?
foreach (var item in list as IEnumerable)
{
}