.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>