.Net处理json数据常见的几种方法

来源:互联网 发布:男士围巾 知乎 编辑:程序博客网 时间:2024/06/13 10:09
1、首先构建json数据

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

  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; }   }
2、处理解析json格式
 <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>
原创粉丝点击