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);

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

  • 相关阅读:
    POJ-1004-Finanical Management
    POJ-1003-hangover
    第一次写博客,想了很久要给自己留一个什么样的开始
    从exchange2010上面删除特定主题或特定时间的邮件
    STM32 一个定时器产生4路 独立调频率,占中比可调,脉冲个数可以统计。
    光电耦合
    STM32 定时器级联
    Eclipse 创建新的workspace
    一次提交,多文件上传
    Grid标签计算结果集中的合计行
  • 原文地址:https://www.cnblogs.com/Minghao_HU/p/2487226.html
Copyright © 2011-2022 走看看