Reader Level:

CLR Object and JSON Serialization and Deserialization

By Adil Ansari on Aug 27, 2012
This article demonstrates how to serialize and deserialize CLR objects for web-based applications.


This article demonstrates how to serialize and deserialize CLR objects for web-based applications. This article starts with an introduction to the System.Web.Script.Serialization.JavaScriptSerializer class. After that, a small code snippet is given for it and where exactly this approach fits into the web-based application


Namespace: System.Web.Script.Serialization

Assembly: System.Web.Extensions (in System.Web.Extensions.dll)

Provides serialization and deserialization functionality for AJAX-enabled applications.

Creating CLR object

A plain CLS object, which has a few classes, attributes and necessary methods as shown below:

    class Person


        public string firstName, lastName, Designation;

        public ushort age;

        public string[] technologies;

        public Address personAddress;



        public override string ToString()




            return string.Format(

                @"Name: {0} {1}

                Designation: {2}

                Age: {3}

                Skills: {4}

                Address: {5} {6}, {7}",









class Address


        public string addressLine, city, country;


Initiating and printing the CLR object to the console:

  Person I = new Person();

  I.firstName = "Adil";

  I.lastName = "Ansari";

  I.Designation = "Consultant";


  Address personAddres = new Address() { addressLine = "Vikhroli LBS West"

                                           city = "Mumbai", country = "IN" };

  I.personAddress = personAddres;

  I.technologies= new string[]{".Net","SQL","SharePoint"};



  // Entity to string

  Console.WriteLine("Entity:" + Environment.NewLine + I);


Output to the console



Serialization and Deserialization

Now to serialize and deserialize the CLR and JSON, a class JavaScriptSerializer needs to be initiated and its instance method will be used to do so, as listed below:

  • public string Serialize(Object obj)

    Converts an object to a JSON string.

  • public T Deserialize<T>(string input)

    Converts the specified JSON string to an object of type T.

      JavaScriptSerializer jsSerializer = new JavaScriptSerializer();

      string serializedPerson = jsSerializer.Serialize(I);


       // Serialized entity string 

       Console.WriteLine("Entity to JSON:" + Environment.NewLine + serializedPerson);


       // Deserialized entity back to CLR object

       Person Same = jsSerializer.Deserialize<Person>(serializedPerson);


       Console.WriteLine("Back to Entity:" + Environment.NewLine + Same);



In this article, I discussed how to serialize and deserialize a CLR object to and from JSON using C# with an example. Instead of using any third party DLLs for this purpose, we can have the native .Net capabilities available to us.

Adil Ansari
Adil Ansari

I have been with Microsoft technology i.e. .Net (Win and Web based), SharePoint and SQL Server so far........ And still exploring the new and upcoming featuresMy goal is to become the software architect (want to man... Read more



Custom Software Development
MCN is your source for developing solutions involving websites, mobile apps, cloud-computing, databases, BI, back-end services and processes and client-server applications.

Trending up