using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web; ////// DataTableConvertJson 的摘要说明 /// public class DataTableConvertJson { public DataTableConvertJson() { // // TODO: 在此处添加构造函数逻辑 // } #region dataTable转换成Json格式 ////// 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转换成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 /// /// Msdn /// /// /// ///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(); } }
0
0
相关文章
c# 如何编写可重入的(Reentrant)和线程安全的代码
c# C# 12 和 .NET 8 在并发和性能上的新特性
C# XML解析代码重构指南 如何让你的代码更清晰、更不易出错
c# 如何在没有async/await的旧代码中使用Task
c# async/await 和 continuation-passing style (CPS) 的关系
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具









