大连做环评网站,站长工具推荐,汉中门户网工程招标,吉林省住房和城乡建设厅网站一、json文件内容如下#xff0c;#xff08;小程序里好像有用到...#xff09;: 二、读取包含省份城市区域的json文件#xff0c;并整理成想要的结果#xff1a; string path Server.MapPath(/js); string file System.IO.Path.Combine(path, 数据.…一、json文件内容如下小程序里好像有用到...: 二、读取包含省份城市区域的json文件并整理成想要的结果 string path Server.MapPath(/js); string file System.IO.Path.Combine(path, 数据.json); string message ; string fielval readfile(file, ref message); if(message) { fielval fielval.Replace(\n, ).Replace(\t, ).Replace( , ); JObject jsonJObject.Parse(fielval); string data json[data].ToString(); string namesel 福建省; Dictionarystring, Liststring res new Dictionarystring, Liststring(); bool isget getChild(namesel,福州市, data,1, ref res);//下面有调用说明 message ; }
三、循环整理数据计算出想要的结果: /// summary /// 循环整理数据 /// /summary /// param namesfname省份/param /// param namecityname城市/param /// param namechildrenjson值/param /// param nameift第几次循环/param /// param nameres返回/param /// returns/returns private bool getChild(string sfname,string cityname, string children,int ift,ref Dictionarystring, Liststring res) { try { ListDictionarystring, object list JsonConvert.DeserializeObjectListDictionarystring, object(children); if(ift1 !string.IsNullOrEmpty(sfname)) { //saix 省份 var reslst from u in list where u[name].ToString() sfname select u; list reslst.ToList(); } if(ift2 !string.IsNullOrEmpty(cityname)) { //赛选城市 var reslst from u in list where u[name].ToString() cityname select u; list reslst.ToList(); } if (list.Count 0) { ift; Liststring dic_child new Liststring(); for (int i 0; i list.Count; i) { bool getcl false; string name list[i][name].ToString().Trim(); if (list[i][children]!null) { children list[i][children].ToString().Trim(); if (children.Trim().ToLower() ! null children.Trim().ToLower() ! ) { getcl true; getChild(name, cityname, children, ift, ref res); } } else { children ; } if(!getcl) { dic_child.Add(name);//, children } } if(ift1 || !string.IsNullOrEmpty(sfname)) { res.Add(sfname, dic_child); } else { res.Add(cityname, dic_child); } } return true; } catch (Exception ex) { return false; } } 四、getChild(string sfname,string cityname, string children,int ift,ref Dictionarystring, Liststring res)调用说明 bool isget getChild(福建省,福州市, data,1, ref res);// 当sfname、cityname都有传值相当于查询cityname下的区域信息结果如下 bool isget getChild(福建省,, data,1, ref res);// 当只有sfname都有传值而cityname为空相当于查询sfname下所有城市及各城市下所有区域信息结果如下 五、readfile 方法 public string readfile(string filename, ref string message) { string fielval ; try { if (System.IO.File.Exists(filename)) { using (StreamReader sreader new StreamReader(filename, Encoding.UTF8)) { fielval sreader.ReadToEnd(); sreader.Close(); sreader.Dispose(); } } else { message 未找到文件 filename; } } catch (Exception ex) { message ex.Message; } return fielval; }