If you want to serialize any object to or from JSON (JavaScript object Notation). You can use DataContract JsonSerializer's WriteObject and ReadObject methods to serialize and deserialize respectively. Following is the small example code: Note: you must include the reference to System.Runtime.Serialization assembly
using System;using System.Collections.Generic;using System.Runtime.Serialization.Json;using System.Linq;using System.IO;using System.Text;namespace SerializeObjectUsingJSON{ class Program { static void Main(string[] args) { //Create a list of string List<string> list = new List<string>() { "item1","item2","item3","item4","item5" }; //create memorystream MemoryStream memoryStream = new MemoryStream(); //create Json serializer //constructor argument must contain the type of object that is to be serailized/deserialized DataContractJsonSerializer serializer = new DataContractJsonSerializer(list.GetType()); //serialize the list serializer.WriteObject(memoryStream, list); //get Json string from stream string str = Encoding.Default.GetString(memoryStream.ToArray()); //write the string to console Console.WriteLine(str); //read Json data to stream memoryStream = new MemoryStream(Encoding.Default.GetBytes(str)); //deserialize list list = serializer.ReadObject(memoryStream) as List<string>; //strings in the list foreach (string s in list) Console.WriteLine(s); Console.ReadLine(); } }}
Output: To serialize any datatype use [Serializable] annotation
[Serializable] class JasonTypeFull { public string property1 { get; set; } public string property2 { get; set; } public string property3 { get; set; } } Or you can use [DataContract] and [DataMember] to selectively serialize class members
[Serializable] class JasonTypeFull { public string property1 { get; set; } public string property2 { get; set; } public string property3 { get; set; } }
[DataContract] class JasonTypePartial { [DataMember] public string property1 { get; set; } public string property2 { get; set; } [DataMember] public string property3 { get; set; } }
You need to be a premium member to use this feature. To access it, you'll have to upgrade your membership.
Become a sharper developer and jumpstart your career.
$0
$
. 00
monthly
For Basic members:
$20
For Premium members:
$45
For Elite members: