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

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

  • 相关阅读:
    BZOJ3209: 花神的数论题
    BZOJ3207: 花神的嘲讽计划Ⅰ
    BZOJ3155: Preprefix sum
    BZOJ2465: [中山市选2009]小球
    BZOJ2243: [SDOI2011]染色
    BZOJ1192: [HNOI2006]鬼谷子的钱袋
    hdu1542(线段树——矩形面积并)
    hdu4578(线段树)
    hdu4614(线段树+二分)
    hdu3974(线段树+dfs)
  • 原文地址:https://www.cnblogs.com/Minghao_HU/p/2487226.html
Copyright © 2011-2022 走看看