Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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!!!!!!!