Json在net与页面之间的传递
、首先构建json数据
创建一个一般处理程序: JsonData.ashx
- <span style="color:#3333FF;"> </span><span style="color:#3333FF;">public void ProcessRequest(HttpContext context)
- {
- context.Response.ContentType = "text/plain";
- //--构建json格式数据
- //string jsonArr = "{'Id':12,'Name':'zhangsan'}";//---第1种数据
- //string jsonArr = "[{'Id':1,'Name':'张三','Age':20},{'Id':2,'Name':'李四','Age':30}]";//---第2种数据
- //context.Response.Write(json);
- List<People> listperson = new List<People>();
- People person = new People();
- person.Id = 1;
- person.Name = "张三";
- person.Age = 20;
- listperson.Add(person);
- JavaScriptSerializer jss = new JavaScriptSerializer();//用JavaScriptSerialize 这个类实现对json数据的封装
- string json = jss.Serialize(listperson);//---第3种数据
- context.Response.Write(json);
- }
- class People
- {
- public int Id { get; set; }
- public string Name { get; set; }
- public int Age { get; set; }
- }
- </span>
2、处理解析json格式
- <span style="color:#3333FF;"> <script src="/js/jquery-1.4.2.js" type="text/javascript"></script>
- <script type="text/javascript">
- $(function () {
- $.post("/JsonData.ashx", {}, function (data) {
- /*
- json一般用在少量的数据处理。因为格式简单,操作方面,而且js本身就支持json格式的处理功能
- json一般格式如下:{"Id":1,"Name":"zhangsan"}或者[{"Id":1,"Name":"zhangsan"},{"Id":2,"Name":"lisi"}]多维数组
- */
- /*
- js解析json格式的方法【个人的方法,有更多的解析方法上网查】
- ★eval('('+json+')')
- ★jQuery.parseJSON(json)
- */
- if (data != null) {
- /*
- ★eval('('+json+')')
- var evaljson = eval('(' + data + ')');
- //"{'Id':12,'Name':'zhangsan'}";//---【对应C#代码中第1种数据】
- //$("#spanJson").html(evaljson.Id + "-" + evaljson.Name); //大小写和定义的要一模一样
- for (var i = 0; i < evaljson.length; i++) {//处理多维json---【对应C#代码中第2种数据】
- $("#spanJson").append(evaljson[i].Id + "-" + evaljson[i].Name+"-"+evaljson[i].Age+"<br/>");
- }
- */
- /* ★jQuery.parseJSON(json)*/
- var parsej = $.parseJSON(data);
- for (var i = 0; i < parsej.length; i++) {//处理多维json 【对应C#代码中第3种数据】
- $("#spanJson").append(parsej[i].Id + "-" + parsej[i].Name + "-" + parsej[i].Age + "<br/>");
- }
- }
- });
- });
- </script></span>