zoukankan      html  css  js  c++  java
  • asp.net中javascript中json和C#对象之间的转换

    方法1:在前台javascript中拼接json格式,数组格式(或者集合)[{},{}],对象格式{"":"","":""}还有值得格式{name:{"":""}}

    在后台使用List<T> listWebsitUser = Newtonsoft.Json.JsonConvert.DeserializeObject(json, typeof(List<T>)) as List<RecommedWebSiteUser>;在这里json是一个集合所以转化为一个泛型List<T>

    listWebsitUser是RecommedWebSiteUser的泛型集合,这样就把前台拼接的字符串json转化为了集合List<T>

        [Serializable]

    class RecommedWebSiteUser
        {
            private string userId;

            public string UserId
            {
                get { return userId; }
                set { userId = value; }
            }
            private string realName;

            public string RealName
            {
                get { return realName; }
                set { realName = value; }
            }
        }

    将list<T>在转化为json的方法:

       //第一种方法,这种方法要添加引用System.Runtime.Serialization.dll、System.ServiceModel.Web.dll
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(listWebsitUser.GetType());

                    // 定义一个stream用来存发序列化之后的内容
                    Stream stream = new MemoryStream();
                    serializer.WriteObject(stream, listWebsitUser);

                    // 从头到尾将stream读取成一个字符串形式的数据,并且返回
                    stream.Position = 0;
                    StreamReader streamReader = new StreamReader(stream);
                    string json3 = streamReader.ReadToEnd();

       //第二种方法
                    string json1 = Newtonsoft.Json.JsonConvert.SerializeObject(listWebsitUser);

    这两种方法必须把类标记为可序列化的类

  • 相关阅读:
    iscsi一致性的测试验证方法
    ceph各个版本之间参数变化分析
    rgw的rgw_thread_pool_size配置调整
    rgw前端替换civetweb为beast
    配置内网访问的TV
    关于vm.min_free_kbytes的合理设置推测
    rbd的删除回收站功能
    python爬取微博热门话题榜
    Selenium+Pytest自动化测试框架—禅道实战
    python带参数装饰器的两种写法
  • 原文地址:https://www.cnblogs.com/Minghao_HU/p/2487226.html
Copyright © 2011-2022 走看看