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

原文地址:https://www.cnblogs.com/zhoubinbin1991/p/2586426.html