DataTable或DataSet与JSON互转

来源:互联网 发布:专业流量监控软件 编辑:程序博客网 时间:2024/06/05 23:53
  1. #region dataTable转换成Json格式  
  2. /// <summary>  
  3. /// dataTable转换成Json格式  
  4. /// </summary>  
  5. /// <param name="dt"></param>  
  6. /// <returns></returns>  
  7. public static string DataTable2Json(DataTable dt)  
  8. {  
  9.     StringBuilder jsonBuilder = new StringBuilder();  
  10.     jsonBuilder.Append("{/"");  
  11.     jsonBuilder.Append(dt.TableName.ToString());  
  12.     jsonBuilder.Append("/":[");  
  13.     for (int i = 0; i < dt.Rows.Count; i++)  
  14.     {  
  15.         jsonBuilder.Append("{");  
  16.         for (int j = 0; j < dt.Columns.Count; j++)  
  17.         {  
  18.             jsonBuilder.Append("/"");  
  19.             jsonBuilder.Append(dt.Columns[j].ColumnName);  
  20.             jsonBuilder.Append("/":/"");  
  21.             jsonBuilder.Append(dt.Rows[i][j].ToString());  
  22.             jsonBuilder.Append("/",");  
  23.         }  
  24.         jsonBuilder.Remove(jsonBuilder.Length - 1, 1);  
  25.         jsonBuilder.Append("},");  
  26.     }  
  27.     jsonBuilder.Remove(jsonBuilder.Length - 1, 1);  
  28.     jsonBuilder.Append("]");  
  29.     jsonBuilder.Append("}");  
  30.     return jsonBuilder.ToString();  
  31. }  
  32.  
  33. #endregion dataTable转换成Json格式  
  34.  
  35. #region DataSet转换成Json格式  
  36. /// <summary>  
  37. /// DataSet转换成Json格式  
  38. /// </summary>  
  39. /// <param name="ds">DataSet</param>  
  40. /// <returns></returns>  
  41. public static string Dataset2Json(DataSet ds)  
  42. {  
  43.     StringBuilder json = new StringBuilder();  
  44.       
  45.     foreach (DataTable dt in ds.Tables)  
  46.     {  
  47.         json.Append("{/"");  
  48.         json.Append(dt.TableName);  
  49.         json.Append("/":");  
  50.         json.Append(DataTable2Json(dt));  
  51.         json.Append("}");  
  52.     }  
  53.     return json.ToString();  
  54. }  
  55. #endregion 
原创粉丝点击