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
반응형
'기억 > C#' 카테고리의 다른 글
[ASP.NET]The type or namespace name 'Chart' does not exist in the namespace 'System.Web.UI' (are you missing an assembly reference?) (0) | 2020.01.20 |
---|---|
DataSet -> Excel로 저장하기 (0) | 2017.11.20 |
'Microsoft.ACE.OLEDB.12.0' 공급자는 로컬 컴퓨터에 등록할 수 없습니다. (0) | 2017.08.04 |
[제브라]한글 출력하기 (0) | 2017.07.18 |