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
    收藏
    关注
    评论
  • 相关阅读:
    Tiddlywiki 维基程序使用手册
    Codeigniter 3.0 相关文档 part two
    css hack
    sql入门基础
    nodejs如何储存一个GBK编码的文件
    PHP 代码片段记录
    javascript 数字进制转换
    子网掩码计算题
    Trace文件过量生成问题解决
    PHP Header下载文件在IE文件名中文乱码问题
  • 原文地址:https://www.cnblogs.com/yidengbone/p/7280611.html
Copyright © 2011-2022 走看看