기억/C#
[ASP.NET]DataSet,DataTable을 JSON으로 변환하기
Shift Key
2021. 3. 10. 09:24
728x90
반응형
asp.net을 하면서 json을 쓸 일이 많아졌습니다.
언제나 그랬듯 서론은 짧게, 본론으로 갑니다~
#region DataSet -> Json String
public static string DataSetToJson(DataSet ds)
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
serializer.MaxJsonLength = 2147483647;
Dictionary<string, List<Dictionary<string, object>>> dsList = new Dictionary<string, List<Dictionary<string, object>>>();
List<Dictionary<string, object>> rows;
Dictionary<string, object> row;
foreach (DataTable dt in ds.Tables)
{
rows = new List<Dictionary<string, object>>();
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);
}
dsList.Add(dt.TableName, rows);
}
return serializer.Serialize(dsList);
}
#endregion
#region DataTable -> Json String
public static string DataTableToJson(DataTable ds)
{
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
serializer.MaxJsonLength = 2147483647;
List<Dictionary<string, object>> listRows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in ds.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in ds.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
listRows.Add(row);
}
return serializer.Serialize(listRows);
}
#endregion
* DataSet, DataTable 이 비어있는지 체크를 합시다



그리고 이 a_sJson을 Client side로 갖고 가서 사용할 땐
const obj_json = JSON.parse(a_sJson);
하면 됩니다
끗-
728x90
반응형