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

 

posted @ 2017-08-03 16:52  AAABONE  阅读(119)  评论(0编辑  收藏  举报