One, VS2008 or above version
<summary>
Sequence
</summary>
<typeparam name= "T" > Object class </typeparam>
<param name= "T" > class objects </param>
<returns>json string </returns>
public static string jsonserializer<t> (T t)
{
Serializes the object into JavaScript Object Notation (JSON) and deserializes the JSON data into objects.
DataContractJsonSerializer ser = new DataContractJsonSerializer (typeof (T));
Create a stream whose support store is memory
MemoryStream ms = new MemoryStream ();
Serializes the specified object into JavaScript Object Notation (JSON) data and writes the generated JSON to the stream
Ser. WriteObject (MS, T);
Write byte array conversion string
String Tojson = Encoding.UTF8.GetString (ms. ToArray ());
Close the stream
Ms. Close ();
Returns the JSON character
return Tojson;
}
<summary>
Deserialization
</summary>
<typeparam name= "T" > Object class </typeparam>
<param name= "Strjson" > JSON string to Deserialize </param>
<returns> return Objects </returns>
public static T jsondeserializer<t> (String Strjson)
{
Serializes objects into JavaScript Object Notation (JSON) and deserializes JSON data into objects
DataContractJsonSerializer ser = new DataContractJsonSerializer (typeof (T));
Create a stream whose support store is memory
MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes (Strjson));
Reads the document stream in JSON (JavaScript object notation) format and returns the deserialized object.
T obj = (t) ser. ReadObject (MS);
Return
return obj;
}
Call Method:
private void Button1_Click (object sender, EventArgs e)
{
Student s = new student ();
list<student> stu = new list<student> ();
S.age = 11;
S.height = 12;
S.weight = 10;
S.name = "Tao";
Stu. ADD (s);
Student s2 = new Student ();
S2.age = 21;
S2.height = 22;
S2.weight = 20;
S2.name = "Jian";
Stu. ADD (S2);
String json = Jsonhelper.jsonserializer < list<student>> (Stu);
LISTBOX1.ITEMS.ADD (JSON);
TextBox1.Text = JSON;
}
private void Button2_Click (object sender, EventArgs e)
{
list<student> s = jsonhelper.jsondeserializer<list<student>> (TextBox1.Text);
LISTBOX1.ITEMS.ADD (S[0].name);
}
private void Button4_Click (object sender, EventArgs e)
{
student s = New Student ();
s.age = 11;
s.height = 12;
s.weight = 10;
s.name = "tao222";
String json = jsonhelper.jsonserializer< Student> (s);
LISTBOX1.ITEMS.ADD (JSON);
TextBox1.Text = json;
}
private void Button5_click (object sender, EventArgs e)
{
student s = Jsonhelper.jsondeserializer<student> (TextBox1.Text);
listBox1.Items.Add (s.name);
}
private void Button3_Click (object sender, EventArgs e)
{
DataTable DT = getdatatable ();
String json = jsonhelper.jsonserializer (DT) ;
LISTBOX1.ITEMS.ADD (JSON);
TextBox1.Text = json;
}
private void Button6_click (object sender, EventArgs e)
{
DataTable dt = jsonhelper.jsondeserializer<datatable> (TextBox1.Text);
LISTBOX1.ITEMS.ADD (dt. rows[0]["name"]);
}
Second, the VS2005 version of the internet has a packaged third party is very convenient
private void Button1_Click (object sender, EventArgs e)
{
Student s = new student ();
list<student> stu = new list<student> ();
S.age = 11;
S.height = 12;
S.weight = 10;
S.name = "Tao";
Stu. ADD (s);
Student s2 = new Student ();
S2.age = 21;
S2.height = 22;
S2.weight = 20;
S2.name = "Jian";
Stu. ADD (S2);
String json = Jsonconvert.serializeobject (stu);
LISTBOX1.ITEMS.ADD (JSON);
TextBox1.Text = JSON;
}
private void button2_click (object sender, EventArgs e)
{
list< student> s = jsonconvert.deserializeobject<list<student>> (TextBox1.Text);
listBox1.Items.Add (s[0].name);
}
private void Button3_Click (object sender, EventArgs e)
{
student s = New Student ();
s.age = 11;
s.height = 12;
s.weight = 10;
s.name = "Tao";
String json = Jsonconvert.serializeobject (s);
LISTBOX1.ITEMS.ADD (JSON);
TextBox1.Text = json;
}
private void Button4_Click (object sender, EventArgs e)
{
student s = Jsonconvert.deserializeobject<student> (TextBox1.Text);
listBox1.Items.Add (s.age);
}
private void Button5_click (object sender, EventArgs e)
{
DataTable DT = getdatatable ();
String json = Jsonconvert.serializeobject ( DT);
LISTBOX1.ITEMS.ADD (JSON);
TextBox1.Text = json;
}
private void Button6_click (object sender, EventArgs e)
{
DataTable dt = jsonconvert.deserializeobject<datatable> (TextBox1.Text);
LISTBOX1.ITEMS.ADD (dt. rows[0]["name"]);
}
JSON serialization and deserialization in C #