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();
        }
复制代码

 

posted @   秋风过、枯叶落  阅读(776)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示