②值的有序列表
在大部分语言中,它被理解为数组。
<wbr></wbr>
<wbr></wbr>
JSON表示名称/值对:{ "firstName": "Brett" }
<wbr></wbr>
多个名称/值对串在一起:{ "firstName": "Brett", "lastName":"McLaughlin"
}
从语法方面来看,这与名称/值对相比并没有很大的优势,但是在这种情况下 JSON更容易使用,而且可读性更好。
当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性:
{ "employees": [
<wbr> { "firstName": "Brett", "lastName":"McLaughlin"</wbr>
},
<wbr> { "firstName": "Jason", "lastName":"Hunter"</wbr>
},
<wbr> { "firstName": "Elliotte", "lastName":"Harold"</wbr>
}
] }
asp.net使用json数据流程是什么呢?
1 aspx传值至cs
2 cs中处理aspx传来的值,一番处理之后,处理成json格式的值
3 传回aspx。aspx中可以通过拿到的处理后的数据。通过键值对的形式拿到值。
例一:
public class JsonHandler : IHttpHandler
<wbr><wbr><wbr> {</wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> public void ProcessRequest(HttpContext context)<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> context.Response.ContentType = "text/plain";<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
string data = "[{name:\"Tom\",age:\"26\"},{name:\"Jim\",age:\"27\"}]";
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> context.Response.Write(data);<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr><wbr> public bool IsReusable<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> get<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> return false;<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> }<br><wbr><wbr><wbr> }</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><span style="font-size:12px"></span></wbr>
②前台解析JSON数据
<head runat="server">
<wbr><wbr><wbr> <title></title></wbr></wbr></wbr>
<wbr><wbr><wbr> <script src="js/jquery-1.3.2.js" type="text/javascript"></script></wbr></wbr></wbr>
<wbr><wbr><wbr> <script type="text/javascript"><br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> $(function() {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><strong>$.getJSON</strong>(<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> "JsonHandler.ashx",<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> function(data) {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> $.each(data, function(i) {<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> $("#cat-list").append("<li>name:" +<strong> data[i].name</strong> </wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
+ "Age:" +data
[i].age+ "</li>")
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> });<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> });<br><wbr><wbr><wbr><wbr><wbr><wbr><wbr> });<wbr><wbr><br><wbr><wbr><wbr> </script></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
</head>
<body>
<wbr><wbr><wbr> <form id="form1" runat="server"><br><wbr><wbr><wbr> <div><br><wbr><wbr><wbr> <ul id="cat-list"></ul><br><wbr><wbr><wbr> </div><br><wbr><wbr><wbr> </form><br> </body></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
例二:
aspx
$.getJson("Ajax/Test.aspx",{ID:1},function(data){
$.each(data,function(i){
data[i]...........
})
}<wbr><wbr><wbr><wbr><wbr><wbr>)<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr></wbr>
Test.cs
public partial class GetPoints : System.Web.UI.Page
{
<wbr><wbr><wbr><wbr><wbr><span style="font-size:12px"><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr> List<Student> list<wbr><wbr> =GetList(id);</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr>
JavaScriptSerializer jss = new JavaScriptSerializer();
Response.Write(jss.Serialize(list));
Response.End();
<wbr><wbr><wbr>}</wbr></wbr></wbr>
我们看到JavaScriptSerializer 这个对象的Serialize这个方法,这个方法是做什么用的呢?
Model.Student本身有name等字段,Serialize这个方法方法处理将数据对象处理成json格式的数据,其中
[{"num":"111","name":"xy","location":"china"}]........等。通过data[i].name的形式可以拿到里面的值。
我们当然可以使用$.ajax方法来拿到处理后的json数据了。
$.ajax({
<wbr><wbr><wbr><wbr> type:"GET",<br><wbr><wbr><wbr><wbr> dataType:"json",<br><wbr><wbr><wbr><wbr> data:{id:json[i].ID},<br><wbr><wbr><wbr><wbr> async:false,</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr> url:"Ajax/Test.aspx"</wbr></wbr></wbr></wbr>
success:function(data){
<wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><br><wbr><wbr><wbr><wbr><wbr> }<br> });</wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>