zoukankan      html  css  js  c++  java
  • json简单序列化反序列化传值

    SP.NET AJAX框架编程之JSON序列化与后台互传数据

          ASP.NET AJAX(最初代码名为“ATLAS”)框架,作为重点支持ASP.NET开发平台的开源Ajax框架在它一出世时就受到广大.NET开发人员的青睐。在本文中,于分析ASP.NET AJAX编程中服务器与客户端通信过程中的数据存储形式的问题。具体地说,探讨一个实现序列化与反序列化的服务器端对象—JavaScriptSerializer。利用JavaScriptSerializ实现Json类型数据的前后台数据互相传递。

    1、认识JSON'

     如下为Json的表示格式,它甚至可以嵌套数组型的数据,在程序调试的时候看,就像是一个类一样。

          var json = { "Name": "Sunny D.D", "Age": 25 };

      文章http://www.17fx.net/jishu/dotnet-ajax/aspnet-ajax-json-.aspx 对JSON有着较详细的讲解,这里就不多讲了。

      我们在做网站的时候,尤其是前台是JavaScript脚本,后台是aspx.cs的时候,传输字符串类型的数据比较简单,但是,如果想传输一组类似于类那样的一组复杂甚至大量的数据时,将如何呢?JSON格式对象的反序列与序列化传输为此提供了比较好的途径。序列化就将对象变成一窜标准格式的字符串,反序列就是将字符串按照一定的格式变化出来,类似类那样。

    2、环境

     在asp.net 3.5下已经有AJAX库了,我们可以直接引用。

    后台引用空间为:

    System.Web.Script.Serialization

    至于前台,需要引用

    AJAXControlToolKit;

    3 、前台将Json格式的序列化

    如图所示,Data Json 格式的对象


    现在要将其序列化,使用如下语句:

            var s1 = Sys.Serialization.JavaScriptSerializer;

            var json = s1.serialize(data);

       则json序列化为字符串类型,可直接进行传递。

    4、后台反序列

          JavaScriptSerializer serializer = new JavaScriptSerializer();

          JionDatat ss = serializer.Deserialize<JionDatat >(RInfoInfo);

                JionDatat 为基于之前的Json对象写的类,类名称要与之前的一致。

        ss 为反序列后的类对象。

    5、至于前后台传数据的方法有很多,本人比较常用的是页面方法。

                    PageMethod

  • 相关阅读:
    IP地址分类
    Python 加密 shellcode 免杀
    java翻译到mono C#实现系列(2) mono实现GridView 横向滚动
    Hello Jexus(转并修改)
    @using (Html.BeginForm())和@{Html.BeginForm();}@{Html.EndForm();}对比
    FindLine把多行查找改为多行替换
    java翻译到mono C#实现系列(1) 重写返回键按下的事件
    mono 的System.Data.SqlClient小记录
    架构文件夹说明
    Xamarin Mono For Android 4.6.07004看不到新建android
  • 原文地址:https://www.cnblogs.com/zhoubinbin1991/p/2586426.html
Copyright © 2011-2022 走看看