SerializerHelper

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.IO;
 6 using System.Xml.Serialization;
 7 using System.Web.Script.Serialization;
 8
 9 namespace CiWong.Admin.Common.Extensions
10 {
11     /// <summary>
12     /// 序列化帮助类
13     /// </summary>
14     public class SerializerHelper
15     {
16         /// <summary>
17         /// xml序列化
18         /// </summary>
19         /// <typeparam name="T">对象类型</typeparam>
20         /// <param name="obj">要序列化的对象</param>
21         /// <param name="strPath">保存的路径</param>
22         public static void XmlSerializer<T>(T obj, string strPath) where T : class
23         {
24             FileStream fs = new FileStream(strPath, FileMode.Create);
25             XmlSerializer xs = new XmlSerializer(typeof(T));
26             xs.Serialize(fs, obj);
27             fs.Close();
28         }
29
30         /// <summary>
31         /// xml反序列化
32         /// </summary>
33         /// <typeparam name="T">对象类型</typeparam>
34         /// <param name="strPath">序列化文件保存的路径</param>
35         /// <returns>反序列化后的对象</returns>
36         public static T XmlDeserialize<T>(string strPath) where T : class
37         {
38             FileStream fs = new FileStream(strPath, FileMode.Open, FileAccess.Read);
39             XmlSerializer xs = new XmlSerializer(typeof(T));
40             var obj = xs.Deserialize(fs);
41             fs.Close();
42             return obj as T;
43         }
44
45         /// <summary>
46         /// JSON序列化
47         /// </summary>
48         /// <typeparam name="T"></typeparam>
49         /// <param name="entity"></param>
50         /// <returns></returns>
51         public static string JsonSerializer<T>(T entity)
52         {
53             var serializer = new JavaScriptSerializer();
54             return serializer.Serialize(entity);
55         }
56
57         /// <summary>
58         /// JSON反序列化
59         /// </summary>
60         /// <typeparam name="T"></typeparam>
61         /// <param name="jsonString"></param>
62         /// <returns></returns>
63         public static T JsonDeserialize<T>(string jsonString)
64         {
65             var serializer = new JavaScriptSerializer();
66             return serializer.Deserialize<T>(jsonString);
67         }
68     }
69 }

时间: 2024-10-16 22:27:00

SerializerHelper的相关文章

.Net 序列化和反序列化SerializerHelper

开始以为SerializerHelper类是项目中已包含的,后来在别的解决方案中测试代码才发现SerializerHelper类是自己写的. using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Text; using System.IO; using System.Xml.Serialization; using Newtonsoft.Json; ///

【重要更新】Senparc.Weixin SDK v4.3.3升级说明

为了更好地适应微信越来越快的API更新速度和越来越多的API数量,本次Senparc.Weixin.dll v4.3.3对一些通用功能进行了深度的重构. 本次更新同时影响以下所有Senparc.Weixin相关版本的dll: Senparc.Weixin.dll 升级到 v4.3.3 Senparc.Weixin.MP.dll 升级到 v13.3.0(重要) Senparc.Weixin.MP.MvcExtension.dll 升级到 v1.4.1 Senparc.Weixin.Open 升级到

作个有安全感的应用,告别裸奔

自个对架构比较感兴趣.闲暇时间学习学习相关姿势,也涨涨姿势. 算是自娱自乐也算是实践吧!把自己平时用的小功能做了个系统都算不上的小应用吧! 一开始通过账号密码验证,然后加上了,mac地址验证还是觉得不够安全,最近把数字证书的功能也加上了,感觉小有有点安全感,不再裸奔了.可以跟大家分享分享. 1.浅说架构 这样一个拓扑图,大家首先想到的是bs的网站吧!其实我们今天说的cs架构的小应用. 使用wcf支撑的soa架构: 为什么用wcf呢?首先wcf简单上手快,然后wcf我可以通过简单的配置实现用htt

序列化、反序列化的版本控制以及序列化、反序列化集合对象

当涉及到跨进程甚至是跨域传输数据的时候,我们需要把对象序列化和反序列化. 首先可以使用Serializable特性. [Serializable] public class Person { public string _firstName; public string _secondName; //序列化 [OnSerializing] internal void OnSerializing(StreamingContext context) { _firstName = _firstName

ASP.NET MVC单点登录(多站点共享用户信息)

一.多站点共享用户信息解决方案: 采用分布式缓存Memcache模拟Session进行用户信息信息共享 1.视图部分 @{ Layout = null; } <!DOCTYPE html> <html> <head> <title>XX商城后台管理系统登录</title> <script type="text/javascript"> if (window.parent.window != window) { wi

javascript序列化表单

JS代码 1 var serializer = new JSONSerializer(); 2 var model = serializer.Serialize($("#StudentsSchoolCertificate")[0]); 3 model.type = 2; 4 $.ajax({ 5 type: "get", 6 url: "/Handler/StudentsSchoolCertificateHandler.ashx", 7 data

C# 操作pem 文件

using Dscf.Bpl.InformationAuditBpl; using Dscf.Bpl.ProductBpl; using Dscf.Global.CommonAduit; using Dscf.Global.Model; using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Script.Serialization; using L

HttpClient post

using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Text; using System.Threading.Tasks; using Xinleda.Common; using Xinleda.Model; namespace ConsoleApplication1 {     class Program     {         stat

记住登录用户,下次登录

<td align="center" colspan="2"> <input type="submit" id="btnLogin" value="登录" class="login-btn" /><input type="checkbox" name="checkMe" value="1"/>