
C# json体里面有docs数组,请问怎么才能把docs数组也转换成Dictionary
Dictionary<string,object>requestDic=JsonHelper.JsonToDictionary(tmpStr);ArrayListtmpL...
Dictionary<string, object> requestDic = JsonHelper.JsonToDictionary(tmpStr);
ArrayList tmpList = (ArrayList)requestDic["docs"];
for(i;;;)
{Dictionary<string, object> requestDic2 = (Dictionary<string, object>)tmpList[i];}
这样做了两次强制类型转换,有没有更简单的做法(不要反序列化,只是转换成Dictionary)
原json类似于这样
{
"mark": "atn",
"snum": "0",
"at": "2014-07-10 20:47:14",
"mininum": 1,
"maxinum": 100,
"galleryid": 1,
"docs": [
{
"did": 334343365614098600,
"hd": "0.000",
"kw": "均线 大盘 红柱 回落 站上 ",
"arraynum": 45,
"md5": "9df8108572ec414a321fae50947f196e",
"fulltext": "我爱您中国更爱中国人",
"createDate": "2014-07-10 20:20:00",
"summary": "",
"creator": "",
"url": "http://www.chinavalue.net/Investment/Blog/2014-7-10/1058744.aspx",
"reg": "未知",
"src": "价值中国网"
},
{
"did": 334343365614098600,
"hd": "0.000",
"kw": "均线 大盘 红柱 回落 站上 ",
"arraynum": 45,
"md5": "9df8108572ec414a321fae50947f196e",
"fulltext": "我爱您中国更爱中国人",
"createDate": "2014-07-10 20:20:00",
"summary": "",
"creator": "",
"url": "http://www.chinavalue.net/Investment/Blog/2014-7-10/1058744.aspx",
"reg": "未知",
"src": "价值中国网"
}
]
} 展开
ArrayList tmpList = (ArrayList)requestDic["docs"];
for(i;;;)
{Dictionary<string, object> requestDic2 = (Dictionary<string, object>)tmpList[i];}
这样做了两次强制类型转换,有没有更简单的做法(不要反序列化,只是转换成Dictionary)
原json类似于这样
{
"mark": "atn",
"snum": "0",
"at": "2014-07-10 20:47:14",
"mininum": 1,
"maxinum": 100,
"galleryid": 1,
"docs": [
{
"did": 334343365614098600,
"hd": "0.000",
"kw": "均线 大盘 红柱 回落 站上 ",
"arraynum": 45,
"md5": "9df8108572ec414a321fae50947f196e",
"fulltext": "我爱您中国更爱中国人",
"createDate": "2014-07-10 20:20:00",
"summary": "",
"creator": "",
"url": "http://www.chinavalue.net/Investment/Blog/2014-7-10/1058744.aspx",
"reg": "未知",
"src": "价值中国网"
},
{
"did": 334343365614098600,
"hd": "0.000",
"kw": "均线 大盘 红柱 回落 站上 ",
"arraynum": 45,
"md5": "9df8108572ec414a321fae50947f196e",
"fulltext": "我爱您中国更爱中国人",
"createDate": "2014-07-10 20:20:00",
"summary": "",
"creator": "",
"url": "http://www.chinavalue.net/Investment/Blog/2014-7-10/1058744.aspx",
"reg": "未知",
"src": "价值中国网"
}
]
} 展开
1个回答
展开全部
你这个需要测试。用linq的Cast()方法。
ArrayList arrayList = (ArrayList)requestDic["docs"];
var query = arrayList.Cast<Dictionary<string, object>>();
foreach (var item in query)
{
foreach (KeyValuePair<string, object> keyValue in item)
{
Console.WriteLine(keyValue.Key);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询