zoukankan      html  css  js  c++  java
  • Newtonsoft.Json 序列 反序列 IEnumerable

    下面是memcached 中获取的obj 类型的数据,转list

                string sessionId = Request.Cookies["sessionId"].Value;//授权从Cookie中传递过来的Memcache的Key
                Object obj = MemcachedHelper.Get(sessionId);//根据key从Memcache中获取用户的信息         
    
                // 序列化为JSON字串
                string _json = JsonConvert.SerializeObject(obj);
                List<UsersJsonParam> userInfo = new List<UsersJsonParam>();
    
                // 反序列化
                userInfo = JsonConvert.DeserializeObject<List<UsersJsonParam>>(obj.ToString());

    不知为何 

    ICollection,IEnumerable 转换不行
                ICollection<object> list1 = obj as ICollection<object>;
                IEnumerable<object> list2 = obj as IEnumerable<object>;

    obj 转 IEnumerable 

     /// <summary>
            /// 这是子页面
            /// </summary>
            /// <returns></returns>
            public ActionResult Edit()
            {
                //----查询 分组 数据列表 开始----
                int Page = Convert.ToInt32(string.IsNullOrWhiteSpace(Request["page"]) ? "1" : Request["page"]);
                int limit = Convert.ToInt32(string.IsNullOrWhiteSpace(Request["limit"]) ? "100" : Request["limit"]);
    
                Group Group = new Group();
    
                Group.GroupId = Convert.ToInt32(string.IsNullOrWhiteSpace(Request["GroupId"]) ? "0" : Request["GroupId"]);
                Group.GroupCode = string.IsNullOrWhiteSpace(Request["GroupCode"]) ? "" : Request["GroupCode"];
                Group.GroupName = string.IsNullOrWhiteSpace(Request["GroupName"]) ? "" : Request["GroupName"];
    
                JsonResultDapper jrd = GroupManager.SelectGroupList(Group, Page, limit);
    
                //----查询 分组 数据列表 结束----
    
                var selectItemList = new List<SelectListItem>() { 
                    new SelectListItem(){ Value="0", Text="--全部--", Selected=true }
                };
    
                IEnumerable<object> list = jrd.rows as IEnumerable<object>;
                var GroupList = new SelectList(list, "GroupId", "GroupName");
    
                selectItemList.AddRange(GroupList);
                ViewBag.database = selectItemList;
    
                return PartialView();
            }
  • 相关阅读:
    parted 2T以上磁盘分区和挂载
    MySQL 表空间恢复
    MySQL 绿色版安装
    EF core
    让vs自动提示没有using的类
    Android Studio 的 Gradle 面板没有 Task
    JMS微服务远程调用性能测试 vs .Net Core gRPC服务
    electron打包,使用electron-packager
    EasyNetQ(RabbitMQ)在处理消息时,如果抛出异常,继续不断发送到订阅队列,不断处理(也就是不自动确认消息已到达)
    调用系统默认浏览器,打开网页
  • 原文地址:https://www.cnblogs.com/foreverfendou/p/7397826.html
Copyright © 2011-2022 走看看