• ASP.Net3.5实现对象JSON序列化


    本篇内容将展示如何使用VS2008扩展方法去将一个对象序列化成JSON字符串

    1.添加System.Web.Extensions.dll 程序集的引用

    2.添加JSONHelper 类

    using System.Web.Script.Serialization; 
    public static class JSONHelper
    { 
        static JSONHelper(){}
        public static string ToJSONString(this object obj)  //扩展方法
        { 
            JavaScriptSerializer Serializer = new JavaScriptSerializer(); 
            return Serializer.Serialize(obj); 
        } 
    } 

    3.生成实体类
       注:可以用Linq生成实体类

    public partial class area 
    {  
        private int _id;
        private string _areaname;
    
        public int id
        {
            get;
            set;
        }
    
        public string areaname
        {
            get;
            set;
        }
    }

    4.使用Ajax调用测试

       新建test.aspx页面

    public partial class test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            List<area> areas = new List<area>();
            areas.Add(new area
            {
                id = 1,
                areaname = "浦东新区"
            });
            areas.Add(new area
            {
                id = 1,
                areaname = "闵行区"
            });
            string JSONstr = areas.ToJSONString();
            Response.Write(JSONstr);
        }
    }

    image 智能感知中出现了 ToJSONString 扩展方法(方法名前面图标中的向下箭头表示扩展方法)

    5.使用Jquery进行调用
        image 
        创建 default.aspx页面,代码如下

        <script type="text/javascript" language="javascript" src="jquery.js"></script>
        <div>
            <input id="b1" type="button" value="测试" />
            <span></span>
            <script language="javascript" type="text/javascript">
                $("#b1").click(test);
                function test() {
                    $.ajax({
                        type: "get", //使用get方法访问后台
                        dataType: "json", //返回json格式的数据
                        url: "test.aspx", //要访问的后台地址
                        success: function (msg) {
                            $("span").html(msg[1].id + ":" + msg[1].areaname);
                        }, 
                        error: function() { alert("error"); }
                    });
                }
                
            </script>
        </div>

    6.结果

        image

    7.如果不用实体类,只使用数组

            ArrayList x = new ArrayList();
            x.Add("浦东新区");
            x.Add("闵行区"); 
            string JSONstr = x.ToJSONString();
            Response.Write(JSONstr);
    客户端接受到的返回值
    image 
  • 相关阅读:
    什么是浮动IP
    How can I detect multiple logins into a Django web application from different locations?
    git add -A使用说明
    理解水平扩展和垂直扩展
    php != 和 !== 的区别
    wireshark:Couldn't run /usr/bin/dumpcap in child process: Permission denied
    Unable to VNC onto Centos server remotely
    systemctl使用说明
    KiB、MiB与KB、MB的区别
    python带setup.py的包的安装
  • 原文地址:https://www.cnblogs.com/IsDotNet/p/1501406.html
Copyright © 2020-2023  润新知