Asp.net中Json数据的转化,读取与应用

简介:
 
JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,而且它是基于JavaScript 的。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript 等)。这些特性使JSON成为理想的数据交换语言。
 
Json数据有严格的格式,必须遵守这个格式才可以被解析,主要有两种结构
 
①“名/值”对的集合在不同的语言中被理解为对象,结构,关联数组等

②值的有序列表
在大部分语言中,它被理解为数组。
 
 
JSON表示名称/值对:{ "firstName": "Brett" }
 
多个名称/值对串在一起:{ "firstName": "Brett", "lastName":"McLaughlin" }
 
 
从语法方面来看,这与名称/值对相比并没有很大的优势,但是在这种情况下 JSON更容易使用,而且可读性更好。 当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性:

{ "employees": [
  { "firstName": "Brett", "lastName":"McLaughlin"
},
  { "firstName": "Jason", "lastName":"Hunter"
},
  { "firstName": "Elliotte", "lastName":"Harold"
}
] }
 

asp.net使用json数据流程是什么呢?

1 aspx传值至cs

2 cs中处理aspx传来的值,一番处理之后,处理成json格式的值

3  传回aspx。aspx中可以通过拿到的处理后的数据。通过键值对的形式拿到值。

 

例一:

public class JsonHandler : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
           
string data = "[{name:\"Tom\",age:\"26\"},{name:\"Jim\",age:\"27\"}]";
            context.Response.Write(data);
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
 
 
②前台解析JSON数据
 
<head runat="server">
    <title></title>
    <script src="js/jquery-1.3.2.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function() {
           $.getJSON(
            "JsonHandler.ashx",
             function(data) {
                  $.each(data, function(i) {
                     $("#cat-list").append("<li>name:" + data[i].name
                                                 + "Age:" +data [i].age+ "</li>")
             });
           });
        });  
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <ul id="cat-list"></ul>
    </div>
    </form>
</body>
 
 

例二:

aspx

$.getJson("Ajax/Test.aspx",{ID:1}, function(data){

      $.each(data,function(i){

            data[i]...........

     })

} ) 

 

Test.cs

public partial class GetPoints : System.Web.UI.Page

{

  List<Student> list  = GetList(id);

  JavaScriptSerializer jss = new JavaScriptSerializer();
  Response.Write(jss.Serialize(list));

  Response.End();
}

 

我们看到JavaScriptSerializer 这个对象的Serialize这个方法,这个方法是做什么用的呢?

Model.Student本身有name等字段,Serialize这个方法方法处理将数据对象处理成json格式的数据,其中

[{"num":"111","name":"xy","location":"china"}]........等。通过data[i].name的形式可以拿到里面的值。
 
我们当然可以使用$.ajax方法来拿到处理后的json数据了。
 
$.ajax({
     type:"GET",
     dataType:"json",
     data:{id:json[i].ID},
     async:false,
     url:"Ajax/Test.aspx"
     success:function(data){
                                         
      }
});
 
 
目录
相关文章
|
开发框架 .NET
asp.net core过滤器记录响应对象
asp.net core过滤器记录响应对象
69 0
|
开发框架 .NET 数据格式
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(二)
上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
177 0
|
JSON 开发框架 .NET
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(一)
上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
216 0
|
开发框架 JSON .NET
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(三)
上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
236 0
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(三)
|
JSON 开发框架 .NET
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(四)
上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
416 0
|
JavaScript .NET 索引
ASP.NET Core教程【二】从保存数据看Razor Page的特有属性与服务端验证
前文索引:ASP.NET Core教程【一】关于Razor Page的知识 在layout.cshtml文件中,我们可以看到如下代码: RazorPagesMovie 这段代码中用到asp-page这样的一个特有属性,这是razor page特有的, 这是一个锚点属性,它的值将被编译到a标...
1851 0