Exemple #1
0
        /// <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));
        }
Exemple #2
0
        /// <summary>
        /// Hashtable
        /// </summary>
        /// <param name="xmlData"></param>
        /// <returns></returns>
        public static Hashtable XMLToHashtable(string xmlData)
        {
            DataTable dt = XMLToDataTable(xmlData);

            return(DataHelper.DataTableToHashtable(dt));
        }