JSON 序列化

简介: /// /// 将对象序列化为JSON格式 /// /// 对象 /// json字符串 public static string SerializeObject(object o) { string json = JsonConvert.
/// <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月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
44 1
|
5天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
6天前
|
JSON JavaScript 前端开发
|
2月前
|
JSON Go 数据格式
Golang语言结构体链式编程与JSON序列化
这篇文章是关于Go语言中结构体链式编程与JSON序列化的教程,详细介绍了JSON格式的基本概念、结构体的序列化与反序列化、结构体标签的使用以及如何实现链式编程。
37 4
|
2月前
|
JSON 数据格式
序列化 json和pickle
序列化 json和pickle
|
3月前
|
存储 JSON JavaScript
python序列化: json & pickle & shelve 模块
python序列化: json & pickle & shelve 模块
|
3月前
|
JSON Java 数据格式
【IO面试题 七】、 如果不用JSON工具,该如何实现对实体类的序列化?
除了JSON工具,实现实体类序列化可以采用Java原生序列化机制或第三方库如Protobuf、Thrift、Avro等。
|
4月前
|
JSON Dart 安全
Flutter Dart Macro 宏简化 JSON 序列化
今天我们将会体验 dart 语言新特性 macro 宏,来实现对 json 的序列化,用到的包是官方实验室写的 json 包。 本文将会一步步的带你实现这个功能,那我们开始吧。
Flutter Dart Macro 宏简化 JSON 序列化
|
3月前
|
XML 存储 JSON
(十二)探索高性能通信与RPC框架基石:Json、ProtoBuf、Hessian序列化详解
如今这个分布式风靡的时代,网络通信技术,是每位技术人员必须掌握的技能,因为无论是哪种分布式技术,都离不开心跳、选举、节点感知、数据同步……等机制,而究其根本,这些技术的本质都是网络间的数据交互。正因如此,想要构建一个高性能的分布式组件/系统,不得不思考一个问题:怎么才能让数据传输的速度更快?
|
4月前
|
XML JSON 缓存
优化Java中XML和JSON序列化
优化Java中XML和JSON序列化