0

这是具有以下示例数据的嵌套字典对。

{"A-BC-1111/AB.CD":{"P1":"F","P2":"0.0"}

我正在尝试遍历它并创建一个像这样的集合类:

public class FromDic
{
    string Name = "A-BC-1111/AB.CD";
    Attr1 = "F";
    Attr2 = "0.0";
}

我正在尝试像这样进行嵌套 foreach:

FromDic collectiondic=new FromDic();

foreach(var Key in MyDic)
{
    collectionDic.Name=Key;

    // key on the inner loop is for “Type” and “Val”
    foreach (var key in obj.Keys)
    {
        IJsonValue val;

        if (!obj.TryGetValue(key, out val))
            continue;

        switch (key)
        {
            case "P1":
                collectionDic.Attr1 = val.GetString();
                break;
            case "P2":
                collectionDic.Attr2 = val.GetNumber().ToString();
                break;
        }
    }
}

但是我的代码无法编译。我能做些什么来使这个嵌套foreach工作?

4

1 回答 1

2

我指的是您之前的问题,并假设您使用的是 Json.net

var list = jObj.Children()
            .Cast<JProperty>()
            .Select(p => new FromDic()
            {
                Name = p.Name,
                Attr1 = (string)p.Value["P1"],
                Attr2 = (string)p.Value["P2"]
            })
            .ToList();

public class FromDic
{
    public string Name;
    public string Attr1;
    public string Attr2;
}
于 2013-05-06T12:56:18.880 回答