糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > C#中把Datatable转换为Json的5个代码实例

C#中把Datatable转换为Json的5个代码实例

时间:2021-12-03 08:45:50

相关推荐

C#中把Datatable转换为Json的5个代码实例

后端开发|C#.Net教程

C# Datatable Json

后端开发-C#.Net教程

实例一:

modbus rtu模式 源码,vscode如何改文件名,ubuntu网络差,更改tomcat 主目录,线上爬虫软件,php 读取数据库内容,杭州关键词seo排名服务lzw

/// /// Datatable对象 /// Json字符串 public static string ToJson(DataTable dt) { StringBuilder jsonString = new StringBuilder(); jsonString.Append("["); DataRowCollection drc = dt.Rows; for (int i = 0; i < drc.Count; i++) { jsonString.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) {string strKey = dt.Columns[j].ColumnName;string strValue = drc[i][j].ToString();Type type = dt.Columns[j].DataType;jsonString.Append("\"" + strKey + "\":");strValue = StringFormat(strValue, type);if (j < dt.Columns.Count - 1){ jsonString.Append(strValue + ",");}else{ jsonString.Append(strValue);} } jsonString.Append("},"); } jsonString.Remove(jsonString.Length - 1, 1); jsonString.Append("]"); return jsonString.ToString(); } ////////////private static string StringFormat(string str, Type type) { if (type == typeof(string)) { str = String2Json(str); str = "\"" + str + "\""; } else if (type == typeof(DateTime)) { str = "\"" + str + "\""; } else if (type == typeof(bool)) { str = str.ToLower(); } else if (type != typeof(string) && string.IsNullOrEmpty(str)) { str = "\"" + str + "\""; } return str; } ////// 字符串 /// json字符串 private static string String2Json(String s) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < s.Length; i++) { char c = s.ToCharArray()[i]; switch (c) {case \\": sb.Append("\\\""); break;case \\\: sb.Append("\\\\"); break;case /: sb.Append("\\/"); break;case \: sb.Append("\\b"); break;case \f: sb.Append("\\f"); break;case \ : sb.Append("\\n"); break;case \ : sb.Append("\\r"); break;case \ : sb.Append("\\t"); break;default: sb.Append(c); break; } } return sb.ToString(); }

实例二:

知名源码站,Ubuntu自动重启软件,python怎么爬虫封装,php 更新curl,门窗seo入门lzw

public static string CreateJsonParameters(DataTable dt) { /**//**/ /**//* /***************************************************************************** Without goingin to the depth of the functioning of this Method, i will try to give an overview* As soon as this method gets a DataTable it starts to convert it into JSON String,* it takes each row and in each row it grabs the cell name and its data.* This kind of JSON is very usefull when developer have to have Column name of the .* Values Can be Access on clien in this way. OBJ.HEAD[0].* NOTE: One negative point. by this method user will not be able to call any cell by its index. * *************************************************************************/ StringBuilder JsonString = new StringBuilder(); //Exception Handlingif (dt != null && dt.Rows.Count > 0) {JsonString.Append("{ ");JsonString.Append("\"T_blog\":[ ");for (int i = 0; i < dt.Rows.Count; i++){ JsonString.Append("{ "); for (int j = 0; j < dt.Columns.Count; j++) { if (j < dt.Columns.Count - 1) { JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\","); } else if (j == dt.Columns.Count - 1) { JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\""); } } /**//**/ /**//*end Of String*/ if (i == dt.Rows.Count - 1) { JsonString.Append("} "); } else { JsonString.Append("}, "); }}JsonString.Append("]}");return JsonString.ToString(); } else {return null; } }

效果:

{“T_blog”:

[

{“id”:”14″,”title”:”北京奥运开幕式”,”addtime”:”-08-08″},

{“id”:”15″,”title”:”网络文化”,”addtime”:”-09-12″},

{“id”:”17″,”title”:”北京下雨了”,”addtime”:”-09-19″},

{“id”:”21″,”title”:”深圳地铁通了”,”addtime”:”-09-25″}

]

}

诱导支付源码下载地址,vscode怎么查看插件,ubuntu 追加用户,tomcat进程数量,sqlite数据库的容量,网络爬虫毕业设计论文开报告,php 发信,宁波企业seo费用多少,静态网站用js html css,ecshop 商品列表模板lzw

实例三:

////// 需要转换的表。 ///public static string DataTableToJson(DataTable source) { if (source.Rows.Count == 0) return ""; StringBuilder sb = new StringBuilder("["); foreach (DataRow row in source.Rows) { sb.Append("["); for (int i = 0; i < source.Columns.Count; i++) {sb.Append(\" + row[i].ToString() + "\","); } sb.Remove(sb.Length - 1, 1); sb.Append("],"); } sb.Remove(sb.Length - 1, 1); sb.Append("]"); return sb.ToString(); } ////// 数据表 /// JSON字符串 public string CreateJsonParameters(DataTable dt) { StringBuilder JsonString = new StringBuilder(); //Exception Handlingif (dt != null && dt.Rows.Count > 0) { JsonString.Append("{ "); JsonString.Append("\"TableInfo\":[ "); for (int i = 0; i < dt.Rows.Count; i++) {JsonString.Append("{ ");for (int j = 0; j < dt.Columns.Count; j++){ if (j < dt.Columns.Count - 1) { JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\","); } else if (j == dt.Columns.Count - 1) { JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\""); }}/**//*end Of String*/if (i == dt.Rows.Count - 1){ JsonString.Append("} ");}else{ JsonString.Append("}, ");} } JsonString.Append("]}"); return JsonString.ToString(); } else { return null; } }

实例四:

public class DataTableConvertJson { #region dataTable转换成Json格式 /// /// /// public static string DataTable2Json(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.Append("{\""); jsonBuilder.Append(dt.TableName); jsonBuilder.Append("\":["); 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()); jsonBuilder.Append("\",");}jsonBuilder.Remove(jsonBuilder.Length - 1, 1);jsonBuilder.Append("},"); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("]"); jsonBuilder.Append("}"); return jsonBuilder.ToString(); } #endregion dataTable转换成Json格式 #region DataSet转换成Json格式 /// /// DataSet /// public static string Dataset2Json(DataSet ds) { StringBuilder json = new StringBuilder(); foreach (DataTable dt in ds.Tables) {json.Append("{\"");json.Append(dt.TableName);json.Append("\":");json.Append(DataTable2Json(dt));json.Append("}"); } return json.ToString(); } #endregion /// /// /// /// public static string DataTableToJson(string jsonName, DataTable dt) { StringBuilder Json = new StringBuilder(); Json.Append("{\"" + jsonName + "\":["); if (dt.Rows.Count > 0) {for (int i = 0; i < dt.Rows.Count; i++){ Json.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\""); if (j < dt.Columns.Count - 1) { Json.Append(","); } } Json.Append("}"); if (i < dt.Rows.Count - 1) { Json.Append(","); }} } Json.Append("]}"); return Json.ToString(); } }

实例五:

#region DataTable 转换为Json字符串实例方法/// public class GetClassTypeJosn : IHttpHandler{ /////用法说明实例public void ProcessRequest(HttpContext context) { context.Response.ContentType = "application/json"; context.Response.Charset = "utf-8"; HttpRequest req = context.Request; string method = req["method"].ToStr().ToLower(); //获取合同明细列表 DataTable 转换为Json字符串 if (method == "txtdate") { string json = ""; BO.MakeContractMx bll = new MakeContractMx(); DataSet ds = bll.GetDataTable(); if (ds.Tables.Count > 0) {json =ToJson(ds.Tables[0]); } context.Response.Write(json); return; } } public bool IsReusable { get { return false; } }} #endregion #region Json字符串转换为DataTable 实例方法 public DataTable JsonToDataTable(json) { DataTable dt= ToDataTable(json); return dt; } #endregion #region DataTable 转换为Json 字符串 /////////public static string ToJson(this DataTable dt) { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 ArrayList arrayList = new ArrayList(); foreach (DataRow dataRow in dt.Rows) { Dictionary dictionary = new Dictionary(); //实例化一个参数集合 foreach (DataColumn dataColumn in dt.Columns) {dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToStr()); } arrayList.Add(dictionary); //ArrayList集合中添加键值 } return javaScriptSerializer.Serialize(arrayList); //返回一个json字符串 } #endregion #region Json 字符串 转换为 DataTable数据集合 /////////public static DataTable ToDataTable(this string json) { DataTable dataTable = new DataTable(); //实例化 DataTable result; try { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值 ArrayList arrayList = javaScriptSerializer.Deserialize(json); if (arrayList.Count > 0) {foreach (Dictionary dictionary in arrayList){ if (dictionary.Keys.Count() == 0) { result = dataTable; return result; } if (dataTable.Columns.Count == 0) { foreach (string current in dictionary.Keys) { dataTable.Columns.Add(current, dictionary[current].GetType()); } } DataRow dataRow = dataTable.NewRow(); foreach (string current in dictionary.Keys) { dataRow[current] = dictionary[current]; } dataTable.Rows.Add(dataRow); //循环添加行到DataTable中} } } catch { } result = dataTable; return result; } #endregion #region 转换为string字符串类型 ////// 获取需要转换的值 /// 需要格式化的位数 /// 返回一个新的字符串 public static string ToStr(this object s, string format = "") { string result = ""; try { if (format == "") {result = s.ToString(); } else {result = string.Format("{0:" + format + "}", s); } } catch { } return result; } #endregion

更多C#中把Datatable转换为Json的5个代码实例相关文章请关注PHP中文网!

如果觉得《C#中把Datatable转换为Json的5个代码实例》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。