Json在net与页面之间的传递

、首先构建json数据

创建一个一般处理程序: JsonData.ashx

[csharp] view plaincopy
 
  1. <span style="color:#3333FF;">  </span><span style="color:#3333FF;">public void ProcessRequest(HttpContext context)  
  2.   {  
  3.             context.Response.ContentType = "text/plain";   
  4.             //--构建json格式数据  
  5.             //string jsonArr = "{'Id':12,'Name':'zhangsan'}";//---第1种数据  
  6.             //string jsonArr = "[{'Id':1,'Name':'张三','Age':20},{'Id':2,'Name':'李四','Age':30}]";//---第2种数据  
  7.             //context.Response.Write(json);   
  8.               
  9.             List<People> listperson = new List<People>();   
  10.             People person = new People();  
  11.             person.Id = 1;  
  12.             person.Name = "张三";  
  13.             person.Age = 20;  
  14.             listperson.Add(person);  
  15.             JavaScriptSerializer jss = new JavaScriptSerializer();//用JavaScriptSerialize 这个类实现对json数据的封装  
  16.             string json = jss.Serialize(listperson);//---第3种数据  
  17.             context.Response.Write(json);  
  18.  }   
  19.   
  20.   class People  
  21.   {  
  22.             public int Id { getset; }  
  23.             public string Name { getset; }  
  24.             public int Age { getset; }  
  25.    }  
  26. </span>  

2、处理解析json格式

[javascript] view plaincopy
    1. <span style="color:#3333FF;"> <script src="/js/jquery-1.4.2.js" type="text/javascript"></script>  
    2.     <script type="text/javascript">  
    3.         $(function () {  
    4.             $.post("/JsonData.ashx", {}, function (data) {  
    5.                 /* 
    6.                 json一般用在少量的数据处理。因为格式简单,操作方面,而且js本身就支持json格式的处理功能 
    7.                 json一般格式如下:{"Id":1,"Name":"zhangsan"}或者[{"Id":1,"Name":"zhangsan"},{"Id":2,"Name":"lisi"}]多维数组 
    8.                 */  
    9.                 /* 
    10.                 js解析json格式的方法【个人的方法,有更多的解析方法上网查】 
    11.                 ★eval('('+json+')') 
    12.                 ★jQuery.parseJSON(json) 
    13.                 */  
    14.                 if (data != null) {  
    15.                     /* 
    16.                         ★eval('('+json+')') 
    17.                         var evaljson = eval('(' + data + ')'); 
    18.                         //"{'Id':12,'Name':'zhangsan'}";//---【对应C#代码中第1种数据】 
    19.                         //$("#spanJson").html(evaljson.Id + "-" + evaljson.Name); //大小写和定义的要一模一样   
    20.                         for (var i = 0; i < evaljson.length; i++) {//处理多维json---【对应C#代码中第2种数据】 
    21.                         $("#spanJson").append(evaljson[i].Id + "-" + evaljson[i].Name+"-"+evaljson[i].Age+"<br/>");  
    22.                         } 
    23.                     */   
    24.   
    25.                     /* ★jQuery.parseJSON(json)*/  
    26.                     var parsej = $.parseJSON(data);  
    27.                     for (var i = 0; i < parsej.length; i++) {//处理多维json  【对应C#代码中第3种数据】  
    28.                       $("#spanJson").append(parsej[i].Id + "-" + parsej[i].Name + "-" + parsej[i].Age + "<br/>");  
    29.                     }  
    30.                 }  
    31.             });  
    32.         });   
    33.     </script></span> 

转载请注明出处:http://www.cnblogs.com/wangguowen27/

原文地址:https://www.cnblogs.com/wangguowen27/p/2694570.html