Created
November 8, 2012 23:24
-
-
Save dustinchilson/4042573 to your computer and use it in GitHub Desktop.
ToJson and ToXml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System.Text; | |
using System.Web.Script.Serialization; | |
using System.Xml; | |
using System.Xml.Serialization; | |
namespace ObjectExtensions | |
{ | |
public static class SerializationExtensions | |
{ | |
public static string ToJson(this object obj) | |
{ | |
return ToJson(obj, null); | |
} | |
public static string ToJson(this object obj, JavaScriptTypeResolver jsTypeResolver) | |
{ | |
JavaScriptSerializer serializer; | |
if(jsTypeResolver != null) | |
{ | |
serializer = new JavaScriptSerializer(jsTypeResolver); | |
} | |
else | |
{ | |
serializer = new JavaScriptSerializer(); | |
} | |
StringBuilder serializedAsJson = new StringBuilder(); | |
serializer.Serialize(obj, serializedAsJson); | |
return serializedAsJson.ToString(); | |
} | |
public static string ToXml(this object obj) | |
{ | |
return ToXml(obj, null); | |
} | |
public static string ToXml(this object obj, XmlWriterSettings settings) | |
{ | |
XmlSerializer serializer = new XmlSerializer(obj.GetType()); | |
StringBuilder serializedAsXml = new StringBuilder(); | |
XmlWriter xwriter; | |
if (settings != null) | |
{ | |
xwriter = XmlWriter.Create(serializedAsXml, settings); | |
} | |
else | |
{ | |
xwriter = XmlWriter.Create(serializedAsXml); | |
} | |
serializer.Serialize(xwriter, obj); | |
return serializedAsXml.ToString(); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment