C# DataTable 到 JSON 轉換:實作所需的格式
本指南示範如何將 C# DataTable 轉換為具有特定結構的 JSON 字串,避免使用預設的 JSON 物件格式。 目標格式是一個 JSON 對象,其中包含單一記錄對象的「記錄」陣列。
步驟:
填滿資料表: 首先建立一個資料表並使用資料庫(或任何其他來源)中的資料填入它。
使用JavaScriptSerializer:利用JavaScriptSerializer
類別來處理JSON序列化。
建立字典列表:建構一個列表,將 DataTable 的每一行儲存為字典。
迭代並填入字典:循環遍歷資料表中的每個DataRow
。對於每一行:
DataColumn
。 col.ColumnName
)作為鍵,將對應的列值(dr[col]
)作為值加到字典中。 序列化列表:最後,使用 JavaScriptSerializer
序列化字典列表,將其包裝在具有「records」屬性的 JSON 物件中。
程式碼範例:
<code class="language-csharp">using System.Web.Script.Serialization; using System.Data; using System.Collections.Generic; public string ConvertDataTableToJson() { DataTable dataTable = new DataTable(); // Fill dataTable with data from your database JavaScriptSerializer serializer = new JavaScriptSerializer(); List<Dictionary<string, object>> records = new List<Dictionary<string, object>>(); foreach (DataRow row in dataTable.Rows) { Dictionary<string, object> record = new Dictionary<string, object>(); foreach (DataColumn column in dataTable.Columns) { record.Add(column.ColumnName, row[column]); } records.Add(record); } return serializer.Serialize(new { records = records }); }</code>
此修訂後的程式碼提供了一種清晰有效的方法,用於將 DataTable 轉換為指定的 JSON 格式,確保每個記錄在「記錄」陣列中正確表示。 請記得加入必要的 using
語句。
以上是如何在 C# 中將 DataTable 轉換為帶有'records”數組的 JSON 字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!