DataSet 轉Json
阿新 • • 發佈:2019-02-03
1
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web; namespace BookSystem.Common { public class WebHelper { public static string Dataset2Json(DataSet ds, int total = -1) //total表示DataSet裡dataTable的資料總條數 { StringBuilder json = new StringBuilder(); foreach (DataTable dt in ds.Tables) { //{"total":5,"rows":[ json.Append("{\"total\":"); if (total == -1) { json.Append(dt.Rows.Count); } else { json.Append(total); } json.Append(",\"rows\":["); json.Append(DataTable2Json(dt)); //json.Append(","attr1":"Large"") json.Append("]}"); } return json.ToString(); } public static string DataTable2Json(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder(); //jsonBuilder.Append("{\"total\":"); //jsonBuilder.Append("10,\"rows\":["); for (int i = 0; i < dt.Rows.Count; i++) { //jsonBuilder.Append("{"total":5,"rows":["); 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("\","); } if (dt.Columns.Count > 0) { jsonBuilder.Append("\"fafangFS"); jsonBuilder.Append("\":\""); jsonBuilder.Append("1\","); jsonBuilder.Remove(jsonBuilder.Length - 1, 1); } jsonBuilder.Append("},"); } if (dt.Rows.Count > 0) { jsonBuilder.Remove(jsonBuilder.Length - 1, 1); } //jsonBuilder.Append("]}"); return jsonBuilder.ToString(); } } }