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

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>



      


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值