C# 在字符串对象字典中循环

C# 在字符串对象字典中循环,c#,dictionary,C#,Dictionary,因此,im成功地在JSON数据字典中循环,对于任何具有单一值的数据: var jsonData = ((TextBox)e.Item.FindControl("txtMessage")).Text; var js = new JavaScriptSerializer(); var obj = js.Deserialize<dynamic>(jsonData); foreach (KeyValuePair<string,object> item in obj) {

因此,im成功地在JSON数据字典中循环,对于任何具有单一值的数据:

var jsonData = ((TextBox)e.Item.FindControl("txtMessage")).Text;

var js = new JavaScriptSerializer();
var obj = js.Deserialize<dynamic>(jsonData);

foreach (KeyValuePair<string,object> item in obj)
{
    var key = item.Key;
    var value = item.Value;
    if (key == "PercentageMatch")
    {
        ((Label) e.Item.FindControl("lblMatchedPercent")).Text =     
        value.ToString();
    }
}
var jsonData=((TextBox)e.Item.FindControl(“txtMessage”)).Text;
var js=新的JavaScriptSerializer();
var obj=js.Deserialize(jsonData);
foreach(obj中的KeyValuePair项)
{
var key=item.key;
var值=项目价值;
如果(键==“百分比匹配”)
{
((标签)e.Item.FindControl(“lblMatchedPercent”)。文本=
value.ToString();
}
}
我知道需要添加一些额外的代码来读取AKA的值,我知道这不仅仅是一个上限值,有时是10

因此,我的代码看起来与此类似:

var jsonData = ((TextBox)e.Item.FindControl("txtMessage")).Text;

var js = new JavaScriptSerializer();
var obj = js.Deserialize<dynamic>(jsonData);

foreach (KeyValuePair<string,object> item in obj)
{
    var key = item.Key;
    var value = item.Value;
    if (key == "PercentageMatch")
    {
        ((Label) e.Item.FindControl("lblMatchedPercent")).Text = 
         value.ToString();
    }
    if (key == "MatchedPerson")
    {
        foreach (KeyValuePair<string,object> aka in item)
        {

        }
    }
}
var jsonData=((TextBox)e.Item.FindControl(“txtMessage”)).Text;
var js=新的JavaScriptSerializer();
var obj=js.Deserialize(jsonData);
foreach(obj中的KeyValuePair项)
{
var key=item.key;
var值=项目价值;
如果(键==“百分比匹配”)
{
((标签)e.Item.FindControl(“lblMatchedPercent”)。文本=
value.ToString();
}
如果(键==“匹配人”)
{
foreach(项中的KeyValuePair)
{
}
}
}
但这显然是不正确的


我假设该值应该是另一个字典,因此您可以执行以下操作:

foreach(var aka in (IEnumerable<KeyValuePair<string, object>>)value)
{
}

你能给我们一个关于你的案例的
json
示例,并告诉我们你到底想提取或设置哪个部分吗?Orel,数据是奋斗的,但我已经上传了一个屏幕抓图,说明我需要实现什么。
object person;
if(obj.TryGetValue("MatchedPerson", out person))
{
    foreach(var aka in (IEnumerable<KeyValuePair<string, object>>)person);
}