Dictionary<string, Dictionary<string, Dictionary<string, Dictionary<string, string>>>> dic = new Dictionary<string, Dictionary<string, Dictionary<string, Dictionary<string, string>>>>();
Dictionary<string, Dictionary<string, Dictionary<string, string>>> dic2 = new Dictionary<string, Dictionary<string, Dictionary<string, string>>>();
Dictionary<string, Dictionary<string, string>> dic3 = new Dictionary<string, Dictionary<string, string>>();
Dictionary<string, string> dic4 = new Dictionary<string, string>();
foreach (var item in compute)
{
dic2 = new Dictionary<string, Dictionary<string, Dictionary<string, string>>>();
//寻找属于该表的
var dico = keyValues.Where(u => u.Key.Contains(item));
foreach (var item1 in dico)
{
dic4 = new Dictionary<string, string>();
foreach (var Bitem in item1.Value)
{
string orisheetid = Bitem.oriNameColumn;
string targetid = Bitem.targetNameColumn;
dic4.Add(orisheetid, targetid);
}
dic3.Add("matchColumn", dic4);
dic4 = new Dictionary<string, string>();
#region 颜色不需要设置
dic4.Add("4-2", "#EAEAEA-#919191");
dic3.Add("color", dic4);
dic4 = new Dictionary<string, string>();
#endregion
dic2.Add(item1.Key.Split('_')[1], dic3);
dic3 = new Dictionary<string, Dictionary<string, string>>();
}
dic.Add(item, dic2);
}
最后生成的字符串如下。
{"合并BS":{"江投利润表":{"matchColumn":{"4":"2"},"color":{"4-2":"#EAEAEA-#919191"}}},"合并PL":{"江投利润表":{"matchColumn":{"4":"2"},"color":{"4-2":"#EAEAEA-#919191"}},"江投所有者权益变动表":{"matchColumn":{"4":"2"},"color":{"4-2":"#EAEAEA-#919191"}}}}