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
    收藏
    关注
    评论
  • 相关阅读:
    面试笔试题目集
    [vs2010]:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include "StdAfx.h"”?
    [数据库] SQLite常见问题解答
    安卓学习资料总结39
    Android 学习资料总结40
    python变量的定义和使用
    python运算符
    python的注释
    print输出函数
    python数据类型转换
  • 原文地址:https://www.cnblogs.com/yidengbone/p/7280611.html
Copyright © 2011-2022 走看看