步步为营:Asp.Net序列化与反序列化
最近在跟MySql打交道,PHP的程序是将实体中的数据整个序列化后存入数据库中,形成的格式是
a:2:{i:1;i:1;s:5:"value";a:2:{i:1;i:1;s:5:"value";N;}}
这让我思考,我在.net程序中能否读取出来呢,好像.net也没有这样格式的序列化方法,由于PHP的数据是没有类型的。
这可如何办捏....????
将序列化的方法都列一遍
#region XML序列化/// <summary>/// 将对象序列化为Xml格式字符串/// </summary>/// <param name="obj">对象</param>/// <returns></returns> public static string SerializeToXml(object obj) { StringWriter sw = null;try { XmlSerializer xmlser = new XmlSerializer(obj.GetType()); sw = new StringWriter(); xmlser.Serialize(sw, obj);return sw.ToString(); }catch (Exception ex) {throw new Exception("序列化失败", ex); }finally { sw.Close(); sw.Dispose(); } }#endregion #region XML反序列化/// <summary>/// 将Xml格式字符串反序列化为对象/// </summary>/// <typeparam name="T">泛型</typeparam>/// <param name="str">反序列的字符串</param>/// <returns></returns> public static T DeserializeToXml<T>(string str) { StringReader sr = null;try { XmlSerializer xmlser = new XmlSerializer(typeof(T)); sr = new StringReader(str);return (T)xmlser.Deserialize(sr); }catch (Exception ex) {throw new Exception("反序列化失败", ex); }finally { sr.Close(); sr.Dispose(); } }#endregion #region 二进制序列化/// <summary>/// 将对象序列化为Base64编码字符串/// </summary>/// <param name="obj">对象</param>/// <returns></returns> public static string SerializeToBase64(object obj) { MemoryStream ms = null;try { BinaryFormatter format = new BinaryFormatter(); ms = new MemoryStream();byte[] bytes = new byte[ms.Length]; ms.Seek(0, SeekOrigin.Begin); ms.Read(bytes, 0, bytes.Length);return Convert.ToBase64String(bytes); }catch (Exception ex) {throw new Exception("序列化失败!", ex); }finally { ms.Close(); ms.Dispose(); } }#endregion #region 二进制反序列化/// <summary>/// 将Base64编码的字符串反序列化为对象/// </summary>/// <typeparam name="T"></typeparam>/// <param name="str"></param>/// <returns></returns> public static T DeserializeToBase64<T>(string str) { MemoryStream ms = null;try { BinaryFormatter format = new BinaryFormatter();byte[] bytes = Convert.FromBase64String(str); ms = new MemoryStream(); ms.Write(bytes, 0, bytes.Length); ms.Seek(0, SeekOrigin.Begin);return (T)format.Deserialize(ms); }catch (Exception ex) {throw new Exception("反序列化失败!", ex); }finally { ms.Close(); ms.Dispose(); } }#endregion
转载于:https://www.cnblogs.com/79039535/archive/2011/12/08/2281042.html
步步为营:Asp.Net序列化与反序列化相关推荐
- ASP.NET中JSON的序列化和反序列化
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...
- ASP.NET中序列化与反序列化-以显示上一次登录的信息为例
场景 ASP.NET中新建Web网站并部署到IIS上(详细图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199 ...
- ASP.NET MVC Json的序列化和反序列化
1.利用js进行序列化成字符串和反序列化 1 var personObj = {name:"Tom",age:16}; 2 3 // 利用JS序列化成字符串 4 var perso ...
- 步步为营:Asp.Net序列化Json格式的两种方法
过去我们使用JSON.net序列化一个对象,在asp.net3.5中已经集成了序列化对象为json的方法. 我们分别针对System.Runtime.Serialization.Json和System ...
- 一起谈.NET技术,ASP.NET 中JSON 的序列化和反序列化
JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式.在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍 ...
- ASP.NET Core 3.1系列(30)——Newtonsoft.Json实现JSON的序列化和反序列化
1.前言 在早期版本的ASP.NET Core项目中,Newtonsoft.Json的使用率非常高.虽然微软当前主推System.Text.Json来处理JSON的序列化和反序列化,但Newtonso ...
- asp.net JavaScriptSerializer实现序列化和反序列化
通过JavaScriptSerializer来实现.它的名字空间为:System.Web.Script.Serialization 如果要使用它,还须添加 System.Web.Extensions库 ...
- C#: .net序列化及反序列化 [XmlElement(“节点名称”)] [XmlAttribute(“节点属性”)] (上篇)...
.net序列化及反序列化 序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了. 比如,一个计数器,数值为2,我们可以用字符串"2&q ...
- XML的序列化和反序列化 详细介绍
为什么要做序列化和反序列化? 一个回答: 我们都知道对象是不能在网络中直接传输的,不过还有补救的办法.XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储 ...
最新文章
- 网络工程师课程---4、网络层(网关是什么)
- winform利用CefSharp调用google浏览器内核ChromiumWebBrowser,与JS交互
- debian nvidia 安装_【折腾】openSUSE安装与配置——从入门到放弃
- Vue.js项目构建
- opencv下载安装及介绍【初学,后续继续更新】
- 消息队列 策略_消息队列技术点梳理(思维导图版)
- netapp存储常用命令
- 性能优化篇(1):原来罪魁祸首的是http请求数
- JEECG第14期架构培训班开始招生啦,本周三开班!
- monty python读音-Monty Python
- 微信公众号定位显示EC-01G模组+STM32F103
- PLSQL使用for update编辑数据库的坑
- linux 压缩文件夹.gz,Linux 系统 压缩和解压 gz 格式文件
- Android studio 百度地图SDK之地图定位与运动轨迹绘制
- 提取DWI数据的FA和MD
- HTTP状态码:204
- js中时间戳的各种用法
- app的hotfix验证
- C++图书馆管理系统——基于jsoncpp与windows.h
- 初识TradingView脚本语言PineScrpt 5