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

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

  • 相关阅读:
    char *详细指针
    UIScrollViewA都PI得知。
    Android动画之二:View Animation
    计算机基本知识拾遗(七)页面缓存数据的同步和恢复机制页
    得到Android系统语言设置
    Harry Potter and the Prisoner of Azkaban
    zerglurker的c语言教程006——第一功能
    ExtJs迄今datefield控制设置默认值
    quick 2.23 它们的定义c++代码lua与总结的一些细节
    uva live 6190 Beautiful Spacing (二分法+dp试 基于优化的独特性质)
  • 原文地址:https://www.cnblogs.com/Minghao_HU/p/2487226.html
Copyright © 2011-2022 走看看