123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Collections;
- using System.Web.Script.Serialization;
- using System.Xml;
- using System.Xml.Serialization;
- using System.IO;
- using System.ComponentModel;
- namespace Ant.Common
- {
-
-
-
- public class SerializationHelper
- {
-
-
-
-
-
-
- public static string Serialize(object o, Format format)
- {
- return format == Format.Xml ? XmlSerialize(o) : ObjectToJson(o);
- }
-
-
-
-
-
-
-
- public static T Deserialize<T>(string s, Format format)
- {
- return format == Format.Xml ? XmlDeserial<T>(s) : JsonToObject<T>(s);
- }
-
-
-
-
-
-
- public static T XmlDeserialize<T>(string xml)
- {
- return XmlDeserial<T>(xml);
- }
-
-
-
-
-
- private static string ObjectToJson(object obj)
- {
- var jss = new JavaScriptSerializer();
- try
- {
- return jss.Serialize(obj);
- }
- catch (Exception ex)
- {
- throw new Exception("JSONHelper.ObjectToJSON(): " + ex.Message);
- }
- }
-
-
-
-
-
- private static string XmlSerialize(object o)
- {
- using (var ms = new MemoryStream())
- {
- var serializer = new XmlSerializer(o.GetType());
- serializer.Serialize(ms, o);
- ms.Seek(0, SeekOrigin.Begin);
- using (var reader = new StreamReader(ms, Encoding.UTF8))
- {
- return reader.ReadToEnd();
- }
- }
- }
-
-
-
-
-
-
- private static T JsonToObject<T>(string jsonText)
- {
- var jss = new JavaScriptSerializer();
- try
- {
- return !string.IsNullOrEmpty(jsonText) ? jss.Deserialize<T>(jsonText) : default(T);
- }
- catch (Exception ex)
- {
- throw new Exception("JSONToObject(): " + ex.Message);
- }
- }
-
-
-
-
-
-
- private static T XmlDeserial<T>(string s)
- {
- var xdoc = new XmlDocument();
- try
- {
- string str = "<?xml version='1.0' encoding='utf-8'?><AppSettings>" + s + "</AppSettings>";
- xdoc.LoadXml(str);
- if (xdoc.DocumentElement != null)
- {
- var reader = new XmlNodeReader(xdoc.DocumentElement);
- var ser = new XmlSerializer(typeof(T));
- var obj = ser.Deserialize(reader);
- return (T)obj;
- }
- }
- catch (Exception ex)
- {
- return default(T);
- }
- return default(T);
- }
-
-
-
-
-
- public static string stringToJson(string s)
- {
-
- string sb = "";
- sb=s.Replace("/", "\\/");
- sb = sb.Replace("\"", "\\\"");
- sb = sb.Replace("\b", "\\b");
- sb = sb.Replace("\f", "\\f");
- sb = sb.Replace("\n", "\\n");
- sb = sb.Replace("\r", "\\r");
- sb = sb.Replace("\t", "\\t");
- return sb;
- }
- }
- public enum Format
- {
- [Description("Xml")]
- Xml = 1,
- [Description("Json")]
- Json = 2
- }
-
- }
|