C#中將DataTable轉換為JSON
本文探討如何將C#中的DataTable物件轉換為JSON格式。問題始於從資料庫檢索記錄到DataTable中,然後將其轉換為JSON對象,並將其傳回JavaScript函數。然而,所需的JSON格式與當前輸出不同。本文提供了一種解決方案來實現所需的JSON格式。
為了解決這個問題,您可以使用不同的序列化方法。不要使用JsonConvert.SerializeObject
,而是考慮使用System.Web.Script.Serialization
命名空間中的JavaScriptSerializer
。這種替代方法可以更好地控制JSON輸出結構。
以下是如何實現此解決方案的範例:
<code class="language-csharp">public string ConvertDataTabletoString() { DataTable dt = new DataTable(); using (SqlConnection con = new SqlConnection("YOUR_CONNECTION_STRING")) { using (SqlCommand cmd = new SqlCommand("YOUR_QUERY", con)) { con.Open(); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(dt); System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>(); Dictionary<string, object> row; foreach (DataRow dr in dt.Rows) { row = new Dictionary<string, object>(); foreach (DataColumn col in dt.Columns) { row.Add(col.ColumnName, dr[col]); } rows.Add(row); } return serializer.Serialize(rows); } } }</code>
以上是如何有效率地將 C# DataTable 轉換為自訂 JSON 格式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!