Skip to content

Instantly share code, notes, and snippets.

@dustinchilson
Created November 8, 2012 23:24
Show Gist options
  • Save dustinchilson/4042573 to your computer and use it in GitHub Desktop.
Save dustinchilson/4042573 to your computer and use it in GitHub Desktop.
ToJson and ToXml
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