这是一个带有以下示例数据的嵌套字典对。
{"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
工作?
答案 0 :(得分:2)
我指的是您的previous question并假设您使用的是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;
}