zoukankan      html  css  js  c++  java
  • JSON 序列化

    /// <summary>
            /// 将对象序列化为JSON格式
            /// </summary>
            /// <param name="o">对象</param>
            /// <returns>json字符串</returns>
            public static string SerializeObject(object o)
            {
                string json = JsonConvert.SerializeObject(o);
                return json;
            }
    View Code
    /// <summary>
            /// 解析JSON字符串生成对象实体
            /// </summary>
            /// <typeparam name="T">对象类型</typeparam>
            /// <param name="json">json字符串(eg.{"ID":"112","Name":"石子儿"})</param>
            /// <returns>对象实体</returns>
            public static T DeserializeJsonToObject<T>(string json) where T : class
            {
                JsonSerializer serializer = new JsonSerializer();
                StringReader sr = new StringReader(json);
                object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));
                T t = o as T;
                return t;
            }
    View Code

    调用:

    List<Model.BAS.T_BAS_ContractVisit> visitList = T_BAS_ContractVisitBll.Instance.GetModelList(strSql);
                            T_BAS_TabDataLog log = new T_BAS_TabDataLog()
                            {
                                ID = Convert.ToInt32(contractIds[k]),
                                TabName = "T_BAS_ContractVisit",
                                //Content = JsonHelper.SerializeDatatable(visitList.Tables[0]),
                                Content = JsonHelper.SerializeObject(visitList),
                                ActionName = sysUser.DisplayName,
                                ActionTime = DateTime.Now,
                                ActionType = "授权",
                                ActionUser = sysUser.LoginName
                            };
    View Code
    if (!string.IsNullOrEmpty(log.Content)&&log.Content.Length > 10)
                    {
                        List<Model.BAS.T_BAS_ContractVisit> list = HX.Common.JsonHelper.DeserializeJsonToObject<List<Model.BAS.T_BAS_ContractVisit>>(log.Content);
                        if (list.Count > 0)
                        {
                            foreach (var item in list)
                            {
                                if (item.VisitType == 1)
                                {
                                    userNames += item.VisitDisplay + "";
                                }
                                else
                                {
                                    deptNames += item.VisitDisplay + "";
                                }
                            }
                        }
                    }
    View Code
    收藏
    关注
    评论
  • 相关阅读:
    2-7.交集选择器
    2-6.并集选择器
    2-5.后代选择器
    python----字符串,反向编码与乱码记录
    python----输出1-100之和的方法
    python----基础之三元运算、文件操作
    python----基础之令人头疼的字符编码
    python----基础之可变、不可变数据类型、collections模块
    python----基础之数据类型(元祖,字典,集合)
    python----基础之变量的创建与id
  • 原文地址:https://www.cnblogs.com/yidengbone/p/7280611.html
Copyright © 2011-2022 走看看