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>