1.การทำ Serialize และ Deserialize ออบเจ็กส์
2.การทำ Serialize และ Deserialize ลิสต์ของออบเจ็กส์
1.การทำ Serialize และ Deserialize ออบเจ็กส์
การส่งข้อมูลแบบ REST เราจะมัดข้อมูลไปเป็นก้อนแล้วค่อยส่ง เรียกว่าการทำ Serialize
และการรับข้อมูลเราจะแกะข้อมูลที่ได้รับมา เรียกว่าการทำ Deserialize
using System;
using System.Web.Script.Serialization;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person person = new Person() { PersonID = 1, Name = "Bryon Hetrick", Registered = true };
var serializer = new JavaScriptSerializer();
var serializedResult = serializer.Serialize(person);
// Produces string value of:
// {"PersonID":1,"Name":"Bryon Hetrick","Regi stered":true},
var deserializedResult = serializer.Deserialize<Person>(serializedResult);
}
}
public class Person
{
public int PersonID { get; set; }
public string Name { get; set; }
public bool Registered { get; set; }
}
}
จะได้ serializedResult มีชนิดเป็น string มีค่าเป็น “{\”PersonID\”:1,\”Name\”:\”Bryon Hetrick\”,\”Registered\”:true}”
และ deserializedResult มีชนิดเป็น Person
2.การทำ Serialize และ Deserialize ลิสต์ของออบเจ็กส์
ถ้าต้องการรับ-ส่งข้อมูลมากกว่า 1 ก้อน เราใช้ List<> มาช่วยมัดข้อมูลหลายๆก้อนให้เข้าไว้ด้วยกัน
using System;
using System.Collections.Generic;
using System.Web.Script.Serialization;
namespace WebApplication1
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var RegisteredUsers = new List<Person>();
RegisteredUsers.Add(new Person() { PersonID = 1, Name = "Bryon Hetrick", Registered = true });
RegisteredUsers.Add(new Person() { PersonID = 2, Name = "Nicole Wilcox", Registered = true });
RegisteredUsers.Add(new Person() { PersonID = 3, Name = "Adrian Martinson", Registered = false });
RegisteredUsers.Add(new Person() { PersonID = 4, Name = "Nora Osborn", Registered = false });
var serializer = new JavaScriptSerializer();
var serializedResult = serializer.Serialize(RegisteredUsers);
// Produces string value of:
// [
// {"PersonID":1,"Name":"Bryon Hetrick","Registered":true},
// {"PersonID":2,"Name":"Nicole Wilcox","Registered":true},
// {"PersonID":3,"Name":"Adrian Martinson","Registered":false},
// {"PersonID":4,"Name":"Nora Osborn","Registered":false}
// ]
var deserializedResult = serializer.Deserialize<List<Person>>(serializedResult);
// Produces List with 4 Person objects
}
}
public class Person
{
public int PersonID { get; set; }
public string Name { get; set; }
public bool Registered { get; set; }
}
}
จะได้ serializedResult มีชนิดเป็น string มีค่าเป็น “[{\”PersonID\”:1,\”Name\”:\”Bryon Hetrick\”,\”Registered\”:true},{\”PersonID\”:2,\”Name\”:\”Nicole Wilcox\”,\”Registered\”:true},{\”PersonID\”:3,\”Name\”:\”Adrian Martinson\”,\”Registered\”:false},{\”PersonID\”:4,\”Name\”:\”Nora Osborn\”,\”Registered\”:false}]”
และ deserializedResult มีชนิดเป็น System.Collections.Generic.List<Person> หรือ
List<Person>