把DataSet转换成JSON

/// <summary> 
        /// dataTable转换成Json格式 
        /// </summary> 
        /// <param name="dt"></param> 
        /// <returns></returns> 
        public static string DataTable2Json(System.Data.DataTable dt)
        {
            System.Text.StringBuilder jsonBuilder = new System.Text.StringBuilder();
            jsonBuilder.Append("{"Name":"" + dt.TableName + "","Rows");
            jsonBuilder.Append("":[");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                jsonBuilder.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    jsonBuilder.Append(""");
                    jsonBuilder.Append(dt.Columns[j].ColumnName);
                    jsonBuilder.Append("":"");
                    jsonBuilder.Append(dt.Rows[i][j].ToString().Trim().Replace(""", "\"").Replace("
", "").Replace("
", "")); //对于特殊字符,还应该进行特别的处理。
                    jsonBuilder.Append("",");
                }
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                jsonBuilder.Append("},");
            }
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            jsonBuilder.Append("]");
            jsonBuilder.Append("}");
            return jsonBuilder.ToString();
        }
        /// <summary> 
        /// DataSet转换成Json格式 
        /// </summary> 
        /// <param name="ds">DataSet</param> 
        /// <returns></returns> 
        public static string Dataset2Json(System.Data.DataSet ds)
        {
            System.Text.StringBuilder json = new System.Text.StringBuilder();
            json.Append("{"Tables":");
            json.Append("[");
            foreach (System.Data.DataTable dt in ds.Tables)
            {
                json.Append(DataTable2Json(dt));
                json.Append(",");
            }
            json.Remove(json.Length - 1, 1);
            json.Append("]");
            json.Append("}");
            return json.ToString();
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }

把DataSet转换成JSON,记得把一些特殊字符处理下。

上面来源于网上的一段代码,因为没有处理换行和回车,所以转过去的JSON一直不通过。

这个方法暂时符合自己使用需求,等后续有什么特殊字符需要处理再进行添加

JSON在线解析:http://www.bejson.com/

原文地址:https://www.cnblogs.com/yabbi/p/3664764.html