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"}}}}