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中文网其他相关文章!