Blog
JSON serialization in C#
From time to time, I forget where the various classes are defined. So, here is a short tutorial to how you get JSON working in C#:
- Add a reference to
System.Web
- Add a reference to
System.Web.Extensions
- Add
using System.Web.Script.Serialization
to your class.
You can now serialize and deserialize objects to/from JSON as such:
public static T Deserialize<T>(String str)
{
return (new JavaScriptSerializer()).Deserialize<T>(str);
}
public static String Serialize(Object obj)
{
return (new JavaScriptSerializer()).Serialize(obj);
}
You can now place these functions in a static class, or in a class that implement a serialization interface etc. If you want testable code, create an interface that describes a serializer and implement a JSON serializer that uses the code above.
Addon These days, Newtonsoft JSON is more or less a standard when it comes to working with JSON in .NET. Grab it from NuGet.