Converting Data to JSON in .NET Framework 3.5
Thanks to Scottguās blog (https://weblogs.asp.net/scottgu/archive/2007/10/01/tip-trick-building-a-tojson-extension-method-using-net-3-5.aspx) from where I got this idea to write this blog.
I used System.Runtime.Serialization.DataContractJsonSerializer class for serialiazing the data into JSON format instead of System.Web.Script.Serialization.JavaScriptSerializer which is now obselete (can still be used).
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Web.Script.Serialization;
using System.Runtime.Serialization;
using System.IO;
namespace JSONConverter {
class Program {
static void Main(string[] args) {
List<Person> people = new List<Person> {
new Person {ID=1, FirstName="Vijay", LastName="Pathak"},
new Person {ID=2, FirstName="John", LastName="Smith"}
};
people.ConvertToJSON();
}
}
/* The DataContractAttribute type is required and must be applied to the class whose data is
* going to serialized.
* DataMemberAttribute is applicable for the fields which are being serialized
*/
[DataContract]
public class Person {
[DataMember]
public int ID { get; set; }
[DataMember]
public string FirstName { get; set; }
[DataMember]
public string LastName { get; set; }
}
public static class JsonSerializerClass {
public static void ConvertToJSON(this object obj) {
DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
FileStream objStream = new FileStream("D:\\JSONString.txt", FileMode.Open);
serializer.WriteObject(objStream, obj);
objStream.Close();
}
}
The output of the JSONString.txt will look like this
[{"FirstName":"Vijay","ID":1,"LastName":"Pathak"},{"FirstName":"John","ID":2,"LastName":"Smith"}]
Comments
Anonymous
October 04, 2007
PingBack from http://msdnrss.thecoderblogs.com/2007/10/04/converting-data-to-json-in-net-framework-35/Anonymous
October 05, 2007
Great!!!!!!!