将DataTable转换成Json格式

时间:2023-03-08 16:33:32
将DataTable转换成Json格式

方法一: 将DataTable数据拼接成json字符串,方法如下:

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

方法二:使用现成的类库,直接转换,如下:

首先下载Newtonsoft.Json.dll文件,引用到自己的项目中。

接下来,编写代码

using Newtonsoft.Json;

string strPicYZ = JsonConvert.SerializeObject(GetYZDataTableImg());