【发布时间】:2016-06-22 18:00:41
【问题描述】:
我正在处理人口普查数据,我的 json 网址是:
http://api.census.gov/data.json
从上面的 json 中,我想构建“标题”的下拉列表,其中“c_dataset”有“acs5”。现在我的 MVC 控制器中的代码如下:
var yourObject = new JavaScriptSerializer().Deserialize<dynamic>(result.ToString());
foreach (KeyValuePair<string, object> currency in yourObject)
{
if (currency.Key == "dataset")
{
foreach (KeyValuePair<string, object> cur in currency.Value)
{
}
}
}
最里面的foreach给了我一个错误,“foreach语句不能对变量类型'object'进行操作,因为'object'不包含'GetEnumerator'的公共定义!!我不能反序列化某个类中的对象,因为这个 json 很大。最好的方法是什么?另外,我想知道是否可以使用 LINQ 查询反序列化对象。提前谢谢。
【问题讨论】:
-
448kb 并没有那么大。当您尝试将其反序列化为具体类型时会发生什么?
-
@JLRishe 我的意思是制作类的大结构,我只想反序列化它以从中创建下拉菜单。我们如何将反序列化为具体类型?
标签: c# json linq asp.net-mvc-4 serialization