我成功地使用 MVC3 中的 JavaScriptSerializer 将 json 字符串反序列化为动态对象。我不知道如何将其转换为我可以枚举的东西。下面的 foreach 代码行是我最新的尝试,但出现错误:“无法将类型 'System.Dynamic.DynamicObject' 隐式转换为 'System.Collections.IEnumerable'。如何转换或转换以便可以迭代字典?
public dynamic GetEntities(string entityName, string entityField)
{
var serializer = new JavaScriptSerializer();
serializer.RegisterConverters(new[] { new MyProject.Extensions.JsonExtension.DynamicJsonConverter() });
dynamic data = serializer.Deserialize(json, typeof(object));
return data;
}
foreach (var author in GetEntities("author", "lastname"))
鉴于“GetEntities”的示例用法,请尝试将其返回类型更改为IEnumerable<T>
(或者,虽然强烈不推荐,但至少IEnumerable<dynamic>
)。您需要在方法中进行一些过滤,以根据“entityName”输入参数提取适当的实体。尽管如此,尚不清楚其他输入参数(“entityField”)的预期用途是什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)