/// <summary> /// Json转Hashtable: /// </summary> /// <param name="strJson">Json格式</param> /// <returns></returns> public static Hashtable JsonToHashtable(string strJson) { Hashtable ht = new Hashtable(); if (strJson == null) { return(ht); } //取出表名 var rg = new Regex(@"(?<={)[^:]+(?=:\[)", RegexOptions.IgnoreCase); string strName = rg.Match(strJson).Value; DataTable tb = new DataTable(); //获取数据 rg = new Regex(@"(?<={)[^}]+(?=})"); MatchCollection mc = rg.Matches(strJson); for (int i = 0; i < mc.Count; i++) { string strRow = mc[i].Value; string[] strRows = strRow.Split(','); //创建表 if (tb.Columns.Count == 0) { tb = new DataTable(); tb.TableName = strName; foreach (string str in strRows) { var dc = new DataColumn(); string[] strCell = str.Split(':'); dc.ColumnName = strCell[0].Replace(@"""", ""); tb.Columns.Add(dc); } tb.AcceptChanges(); } //增加内容 DataRow dr = tb.NewRow(); for (int r = 0; r < strRows.Length; r++) { dr[r] = strRows[r].Split(':')[1].Trim().Replace(",", ",").Replace(":", ":").Replace("\"", ""); } tb.Rows.Add(dr); tb.AcceptChanges(); } return(DataHelper.DataTableToHashtable(tb)); }
/// <summary> /// Hashtable /// </summary> /// <param name="xmlData"></param> /// <returns></returns> public static Hashtable XMLToHashtable(string xmlData) { DataTable dt = XMLToDataTable(xmlData); return(DataHelper.DataTableToHashtable(dt)); }