C#中的DataTable類型提供了一種存儲數(shù)據(jù)表格的方式,而JSON是一種輕量級數(shù)據(jù)交換格式。在某些場景下,需要將DataTable類型轉(zhuǎn)換為JSON格式,以便于數(shù)據(jù)的傳輸和處理。下面介紹一種將DataTable轉(zhuǎn)換成JSON的方法。
public string DataTableToJson(DataTable dt) { StringBuilder jsonBuilder = new StringBuilder(); if (dt != null && dt.Rows.Count >0) { jsonBuilder.Append("["); for (int i = 0; i< dt.Rows.Count; i++) { jsonBuilder.Append("{"); for (int j = 0; j< dt.Columns.Count; j++) { jsonBuilder.AppendFormat("\"{0}\":\"{1}\",", dt.Columns[j].ColumnName, dt.Rows[i][j].ToString()); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("},"); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("]"); } return jsonBuilder.ToString(); }
上述代碼中,我們通過遍歷DataTable中的行和列,使用StringBuilder構(gòu)建一個符合格式要求的JSON字符串。其中,我們使用了”[”和”]”來表示JSON數(shù)組,使用”{“和”}”來表示JSON對象,使用”,”來分隔對象或數(shù)組的元素。
當然,我們還可以使用第三方庫Newtonsoft.Json來更加方便地進行JSON的操作。