Asp.net中Json資料的轉化,讀取與應用

來源:互聯網
上載者:User

 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){
                                         
      }
});  
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.