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
    收藏
    关注
    评论
  • 相关阅读:
    make、make clean、make install、make uninstall、make dist、make distcheck和make distclean
    Eclipse开发C/C++ 安装配置
    没有文件扩展“.js”的脚本引擎问题解决
    Linux目录架构详解
    Linux查看硬件信息以及驱动设备的命令
    23种设计模式彩图
    ACE在Linux下编译安装
    void及void指针含义的深刻解析
    centos7.x设置nginx开机自启动
    Centos7防火墙关闭和启用iptables操作
  • 原文地址:https://www.cnblogs.com/yidengbone/p/7280611.html
Copyright © 2011-2022 走看看