Tuesday, July 28, 2009

Convert JSON string to Typed Object and Typed List

/// this method would serialize object to JSON string

public string ToJSON()
{
using (MemoryStream memoryStream = new MemoryStream())
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(this.GetType()); /// here this is object which is going to serialized

jsonSerializer.WriteObject(memoryStream , this);
memoryStream .Position = 0;
StreamReader sReader = new StreamReader(memoryStream );
return sReader.ReadToEnd();
}
}

/// This method is used to deserialize the object from JSON Object
/// Returns deserialized object

public T FromJSON(string jsonString)
{
using (MemoryStream memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(this.GetType());
return (T)jsonSerializer.ReadObject(memoryStream );
}
}
/// this method would serialized JSON string and return Generic Type List

public List ConvertToTypeList(string jsonString)
{
using (MemoryStream memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List));
return (List)jsonSerializer.ReadObject(memoryStream);
}
}

/// this method serialized Typed List to JSON string

public string ConvertToJSONList(List ListT)
{
using (MemoryStream memoryStream = new MemoryStream())
{
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(List));
jsonSerializer.WriteObject(memoryStream , ListT);
mStream.Position = 0;
StreamReader sReader = new StreamReader(memoryStream );
return sReader.ReadToEnd();
}
}