在.NET中操作數據庫時,常見的一種數據類型是DataRow,它是DataTable中的一行數據。在某些場景下,我們需要將DataRow轉換成JSON格式,方便進行網絡傳輸或存儲等操作。
下面是一個將DataRow轉換成JSON的方法:
private string DataRowToJson(DataRow row) { Dictionary<string, object> dict = new Dictionary<string, object>(); foreach (DataColumn column in row.Table.Columns) { dict[column.ColumnName] = row[column]; } return JsonConvert.SerializeObject(dict); }
在這個方法中,我們首先創建了一個空的Dictionary,然后遍歷DataRow中的每個列,將列名和對應的值存入Dictionary中。最后,使用JsonConvert.SerializeObject方法將Dictionary轉換成JSON字符串。
如果有多個DataRow需要轉換成JSON,我們可以通過以下方法創建一個JSON數組:
private string DataRowArrayToJson(DataRow[] rows) { List<Dictionary<string, object>> list = new List<Dictionary<string, object>>(); foreach (DataRow row in rows) { Dictionary<string, object> dict = new Dictionary<string, object>(); foreach (DataColumn column in row.Table.Columns) { dict[column.ColumnName] = row[column]; } list.Add(dict); } return JsonConvert.SerializeObject(list); }
在這個方法中,我們創建了一個空的List,然后遍歷DataRow數組中的每個元素,將每個DataRow轉換成一個Dictionary,并將所有的Dictionary存入List中。最后,使用JsonConvert.SerializeObject方法將List轉換成JSON字符串。
使用以上方法,我們可以方便地將DataRow轉換成JSON格式進行網絡傳輸或存儲等操作。