최근 jquery에 시달려 jquery 파싱 json 데모를 만들었습니다. 이 데모에서는 asp.net 백그라운드에서 dataSet 또는 dataTable 데이터 세트를 인스턴스화하고 dataSet을 json으로 변환하여 클라이언트에 반환하려고 합니다. 클라이언트 jquery getJson 메서드를 사용하여 이를 구문 분석하고 페이지에 표시합니다.
public static string DataTableToJson(string jsonName, DataTable dt)
{
StringBuilder Json = new StringBuilder();
Json.Append("{"" jsonName "" :[ ");
if (dt.Rows.Count > 0)
{
for (int i = 0; i < dt.Rows.Count; i )
{
Json .Append("{");
dt.Columns[j].ColumnName.ToString() "":"" dt.Rows[i][j].ToString() """);< ㅋㅋㅋ> > ~ > Json.Append("]}");
return Json.ToString();
}
이 메서드는 msdn의 보조 클래스 메서드입니다.
두 번째 단계는 데모 데이터 세트를 수동으로 구성하고 생성하는 것이지만 프로젝트에서는 일반적으로 데이터베이스나 서비스에서 데이터를 가져옵니다.
코드 복사
코드는 다음과 같습니다.
public static DataSet BindData()
{
DataTable dtData = new DataTable();
dtData.Columns.Add("id");
dtData.Columns.Add( "name");
dtData.Columns.Add("sex");
DataRow drData;
drData = dtData.NewRow();
drData[0] = 16;
drData [1] = "zhaoliu";
drData[2] = "man";
dtData.Rows.Add(drData);
drData = dtData.NewRow();
drData[0] = 19;
drData[1] = "zhangsan";
drData[2] = "women";
dtData.Rows.Add(drData);
DataSet ds = new DataSet();
ds.Tables.Add(dtData);
return ds;
}
第三步 创建aspx页面
前台页면:两个버튼,一个单击开始解析json数据,另외일个查看json字符串
后台页면:
protected void Page_Load(객체 전송자, EventArgs e)
{
JsonAjax();
}
private void JsonAjax() {
string action = Request["Action"];
if (!string.IsNullOrEmpty(action) && action == "action") //判断是否过前台的点击事件进来的
{
string str = DataTableConvertJson.DataTableToJson("json", Data.BindData().Tables[0]);
응답.쓰기(str) >
양식 상단
{"json":[{"id":"16","name":"zhaoliu","sex":"man"},{"id":"19","name":"zhangsan ","섹스":"여성"}]}
양식 하단