C# DataTable转json,DataSet转json
2014-09-04 16:02
246 查看
近期在做一个ASP.NET程序,考虑数据量比较大的问题,用了json数据格式传输。以下是本人的DataTable或DataSet转为json格式字符串的函数。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Data;
#region dataTable转换成Json格式
/// <summary>
/// dataTable转换成Json格式
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public string DataTableToJson(DataTable dt)
{
String jsonstr = "{\"" + dt.TableName + "\":[";
for (int i = 0; i < dt.Rows.Count; i++)
{
jsonstr += "{";
for (int j = 0; j < dt.Columns.Count; j++)
{
jsonstr += "\"" + dt.Columns[j].ColumnName + "\":";
jsonstr += "\"" + dt.Rows[i][j].ToString() + "\",";
}
jsonstr = jsonstr.TrimEnd(',');
jsonstr += "},";
}
jsonstr = jsonstr.TrimEnd(',');
jsonstr += "]}";
return jsonstr;
}
#endregion dataTable转换成Json格式
#region DataSet转换成Json格式
/// <summary>
/// DataSet转换成Json格式
/// </summary>
/// <param name="ds">DataSet</param>
/// <returns></returns>
public string DatasetToJson(DataSet ds)
{
StringBuilder json = new StringBuilder();
json.Append("{");
foreach (DataTable dt in ds.Tables)
{
json.Append(DataTable2Json(dt).TrimStart('{').TrimEnd('}') + ",");
}
return json.ToString().TrimEnd(',') + "}";
}
#endregion
/// <summary>
/// Msdn
/// </summary>
/// <param name="jsonName"></param>
/// <param name="dt"></param>
/// <returns></returns>
public string DataTableToJson_MSDN(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();
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Data;
#region dataTable转换成Json格式
/// <summary>
/// dataTable转换成Json格式
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public string DataTableToJson(DataTable dt)
{
String jsonstr = "{\"" + dt.TableName + "\":[";
for (int i = 0; i < dt.Rows.Count; i++)
{
jsonstr += "{";
for (int j = 0; j < dt.Columns.Count; j++)
{
jsonstr += "\"" + dt.Columns[j].ColumnName + "\":";
jsonstr += "\"" + dt.Rows[i][j].ToString() + "\",";
}
jsonstr = jsonstr.TrimEnd(',');
jsonstr += "},";
}
jsonstr = jsonstr.TrimEnd(',');
jsonstr += "]}";
return jsonstr;
}
#endregion dataTable转换成Json格式
#region DataSet转换成Json格式
/// <summary>
/// DataSet转换成Json格式
/// </summary>
/// <param name="ds">DataSet</param>
/// <returns></returns>
public string DatasetToJson(DataSet ds)
{
StringBuilder json = new StringBuilder();
json.Append("{");
foreach (DataTable dt in ds.Tables)
{
json.Append(DataTable2Json(dt).TrimStart('{').TrimEnd('}') + ",");
}
return json.ToString().TrimEnd(',') + "}";
}
#endregion
/// <summary>
/// Msdn
/// </summary>
/// <param name="jsonName"></param>
/// <param name="dt"></param>
/// <returns></returns>
public string DataTableToJson_MSDN(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();
}
相关文章推荐
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
- C#将DataSet或DataTable转换成Json格式数据传递到前台JS脚本
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
- C#中DataSet、DataTable、String、Object等对象转换成Json
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
- C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。
- C#中的DataSet、string、DataTable 、对象转换成Json
- 如何通过Java的Web服务器把DataSet或DataTable数据通过json格式传回给C#的客户端
- C#中的DataSet、string、DataTable 、对象转换成Json
- C#中的DataSet、string、DataTable 、对象转换成Json
- C#中的DataSet、string、DataTable、对象转换成Json的实现代码
- (C#)中的DataSet、string、DataTable等对象转换成Json
- C#中的DataSet、string、DataTable 、对象转换成Json
- C#中的DataSet、string、DataTable、对象转换成Json的实现代码
- [Json] C#ConvertJson|List转成Json|对象|集合|DataSet|DataTable|DataReader转成Json (转载)
- C#中的DataSet、string、DataTable 、对象转换成Json
- C#中DataTable、Dataset转Json和Json转DataTable
- C#中的DataSet、string、DataTable 、对象转换成Json
- DataSet(DataTable)转化为json格式