Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động Bài 4: Tương tác giữa Web Services với ứng dụng trên thiết bị di động

36 47 0
Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động  Bài 4: Tương tác giữa Web Services với ứng dụng trên thiết bị di động

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Xây dựng và triển khai Web Service cho ứng dụng di động Bài 4: Tương tác giữa Web Services với ứng dụng trên thiết bị di động trình bày các nội dung: Giới thiệu các dạng dữ liệu tương tác giữa web service với ứng dụng trên TBDĐ, tổng quan về JSON,... Mời các bạn cùng tham khảo.

Trường ĐH Khoa Học Tự Nhiên Tp Hồ Chí Minh TRUNG TÂM TIN HỌC Bài 4: Tương tác giữa Web Service với ứng dụng thiết bị di động Ngành Mạng & Thiết bị di động www.t3h.vn 2015 Nội dung Giới thiệu các dạng dữ liệu tương tác giữa Web Service với ứng dụng TBDĐ Tổng quan về JSON Tạo JSON bằng Net Web Service Tương tác giữa Web Service với ứng dụng TBDĐ Xây dựng và triển khai Web Service cho ứng dụng di động Giới thiệu các dạng dữ liệu tương tác giữa Web Service với ứng dụng TBDĐ XML - eXtensible Markup Language • • • Là ngơn ngữ đánh dấu với mục đích chung W3C đề nghị Là một dạng chuẩn cho phép lưu thông tin hướng cấu trúc, được tổ chức dạng thẻ (tag) tương ứng Các thẻ (tag) của XML thường không được định nghĩa trước mà chúng được tạo theo quy ước của người, (hoặc Chương trình) • • tạo XML theo quy ước của người tạo Giúp đơn giản hóa việc chia sẻ liệu hệ thống khác nhau, đặc biệt hệ thống được kết nối với Internet Sử dụng khai báo kiểu liệu DTD (Document Type Definition) hay lược đồ Schema để mô tả liệu Xây dựng và triển khai Web Service cho ứng dụng di động Giới thiệu các dạng dữ liệu tương tác giữa Web Service với ứng dụng TBDĐ XML - eXtensible Markup Language Ví dụ: … Xây dựng và triển khai Web Service cho ứng dụng di động Giới thiệu các dạng dữ liệu tương tác giữa Web Service với ứng dụng TBDĐ JSON - JavaScript Object Notation Định nghĩa liệu theo ngôn ngữ JavaScript, tiêu chuẩn ECMA262 năm 1999 Là một định dạng văn đơn giản với trường liệu được lồng vào Xây dựng và triển khai Web Service cho ứng dụng di động Nội dung Giới thiệu các dạng dữ liệu tương tác giữa Web Service với ứng dụng TBDĐ Tổng quan về JSON • • • • • JSON là gì? Tạo nên sử dụng JSON? Cú pháp JSON Cấu trúc xây dựng JSON Các kiểu liệu JSON Tạo JSON bằng Net Web Service Tương tác giữa Web Service với ứng dụng TBDĐ Xây dựng và triển khai Web Service cho ứng dụng di động JSON là gì? JSON - JavaScript Object Notation • Định nghĩa liệu theo ngôn ngữ JavaScript, tiêu chuẩn ECMA-262 năm 1999 • Là mợt định dạng văn đơn giản với trường liệu được lồng vào • Dùng để trao đởi liệu thành phần của mợt hệ thống tương thích với hầu hết ngôn ngữ C, C++, C#, Java, JavaScript, Perl, Python Xây dựng và triển khai Web Service cho ứng dụng di động 2 Tại nên sử dụng JSON? • • Có thể đọc hiểu và dễ dàng tiếp cận (human-readability) Dữ liệu truyền tải ngắn gọn so với định dạng liệu khác như: XML, HTML, … → Tiết kiệm dung lượng XML, HTML, • Dễ dàng chủn đởi (parse) liệu từ dạng chuỗi (nhận từ server) sang liệu có thể sử dụng được (thành Object, Number, Array) • • Dễ truy cập nội dung Với ứng dụng AJAX lấy xử lý liệu từ web service khác domain Nếu nợi dung trả có dạng JSON javascript từ trang web của có thể trực tiếp truy cập (dùng lệnh eval) • Có cách phân tích xử lý đơn giản, qua bước (chuyển chuỗi nhận được từ máy chủ sang liệu có thể sử dụng được) Xây dựng và triển khai Web Service cho ứng dụng di động Cú pháp JSON? Cú pháp JSON là một tập hợp của cú pháp đối tượng JavaScript: • • • • Dữ liệu là cặp tên/giá trị (name/values) Dữ liệu được phân cách dấu phẩy Đối tượng nằm cặp ngoặc nhọn „{}‟ Dấu ngoặc vuông giữ mảng „[]‟ Để kiểm tra cú pháp chuỗi JSON, chúng ta có thể truy cập vào trang http://jsonlint.com/ để kiểm tra Xây dựng và triển khai Web Service cho ứng dụng di động Cú pháp JSON? Cặp tên và giá trị (name & values) của JSON • Dữ liệu JSON được viết cặp Tên/Giá trị • Một cặp Tên/Giá trị chứa tên trường (trong dấu nháy đôi “”), theo sau là dấu phẩy, cuối cùng là giá trị Ví dụ: "ten" : "An" Xây dựng và triển khai Web Service cho ứng dụng di động 10 Các kiểu dữ liệu JSON Kiểu số (Number) Giống với kiểu số C Java, trừ định dạng bát phân hex không thể dùng Xây dựng và triển khai Web Service cho ứng dụng di động 22 Các kiểu dữ liệu JSON Ví dụ sử dụng các kiểu dữ liệu JSON { SVNganhCNTT: [ {hoTen: “Nguyễn Văn An”, tuoi: 21, nam: true, queQuan: “Đồng Tháp”}, {hoTen: “Trần Văn Bình”, tuoi: 22, nam: true,queQuan:“Hồ Chí Minh”}, {hoTen: “Lê Thị Châu”, tuoi: 23, nam: false, queQuan: “Vĩnh Long” } ], SVNganhCNSH: [ {hoten: “Trần Văn Bông”, tuoi: 24, nam: true, queQuan: “Long An”}, {hoten: “Nguyễn Thị Hoa”, tuoi: 22, nam: false, queQuan: “Cần Thơ”}, ] } Xây dựng và triển khai Web Service cho ứng dụng di động 23 Các kiểu dữ liệu JSON Phân tích ví dụ - Tuoi (tuổi) kiểu liệu là Number - hoTen (họ tên) kiểu liệu là String - nam (giới tính) kiểu liệu là Boolean - SVNganhCNTT (sinh viên ngành CNTT), SVNganhCNSH (Sinh viên ngành CNSH) kiểu liệu làArray - {hoTen: “Nguyễn Văn An”, tuoi: 21, nam: true, queQuan: “Đồng Tháp”} là một kiểu Object - hoTen : “Nguyễn Văn An” là một cặp giá trị của một Object, hoTen tên tḥc tính, “Ngũn Văn An” là giá trị của tḥc tính - SVNganhCNTT: [ ] SVNganhCNSH: [ ] được xem là cặp giá trị Xây dựng và triển khai Web Service cho ứng dụng di động 24 Nội dung Giới thiệu các dạng dữ liệu tương tác giữa Web Service với ứng dụng TBDĐ Tổng quan về JSON Chuyển đổi giữa kiểu dữ liệu JSON và đối tượng NET (Serializing - Deserializing JSON) ● Cấu hình Web API Service trả JSON ● Chuyển đổi từ đối tượng NET sang chuỗi JSON ( Tạo chuỗi JSON) ● Chuyển đổi từ chuỗi JSON sang đối tượng NET Tương tác giữa Web Service với ứng dụng TBDĐ Xây dựng và triển khai Web Service cho ứng dụng di động 25 Cấu hình Web API Service trả về JSON Mở file WebApiConfig.cs thư mục App_Start → thêm dòng sau vào phương thức Register: config.Formatters.Remove(config.Formatters.XmlFormatter); Để cấu trúc tḥc tính của đối tượng JSON trả đúng quy cách CamelCase ta thêm config sau vào Register: var json = config.Formatters.JsonFormatter; json.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.Objects; json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); Xây dựng và triển khai Web Service cho ứng dụng di động 26 Chuyển đổi giữa kiểu dữ liệu JSON và đối tượng NET (Serializing - Deserializing JSON) Để chuyển đổi (convert) một chuỗi (string) định dạng JSON sang đối tượng (object) của Net ngược lại, ta sử dụng lớp JavaScriptSerializer thư viện System.Web.Extensions Xây dựng và triển khai Web Service cho ứng dụng di động 27 Chuyển đổi từ đối tượng NET sang chuỗi JSON Sử dụng phương thức Serializer thuộc lớp JavaScriptSerializer Khai báo sử dụng: using System.Web.Script.Serialization; Ví dụ 1: Lớp HocVien được định nghĩa với tḥc tính: maHV, tenHV và tḥc tính get, set cho tḥc tính, phương thức khởi tạo với tham số maHV và tenHV Những lệnh sau dùng để chuyển đổi đối tượng HocVien sang chuỗi JSON: HocVien = new HocVien("SV001", "Nguyễn Văn A"); string chuoiJSON= serializer.Serialize(s); Response.Write("Object: " + chuoiJSON); Kết quả: Object: {“maHV”:SV001, “tenHV”: “Nguyễn Văn A”} Xây dựng và triển khai Web Service cho ứng dụng di động 28 Chuyển đổi từ đối tượng NET sang chuỗi JSON Ví dụ 2: HocSinh hs1= new HocSinh(); hs1 = getHocSinhByID(123); JavaScriptSerializer jss = new JavaScriptSerializer(); string chuoiJSON = jss.Serialize(hs1); Console.WriteLine(chuoiJSON); Kết quả: { “tenHV": “Trần Văn B", “maHV": "123456", “ngaySinh": "01/01/1991", “diaChi":{"sonha":"123","quan":“10"}, "diemThi":[{"mon":“toan","diem":"10"}, {"mon":"ly","diem":"9"}, {"mon":"hoa","diem":"8"}] } Xây dựng và triển khai Web Service cho ứng dụng di động 29 3 Chuyển đổi từ chuỗi JSON sang đối tượng NET Sử dụng phương thức Deserializer thuộc lớp JavaScriptSerializer Ví dụ 1: Với chuỗi JSON sau: {“maHV”:100, “tenHV”: “Nguyễn Văn A”} Lệnh dùng để chuyển đổi chuỗi JSON thành đối tượng HocVien: HocVien hv1 = serializer.Deserialize(str); Response.Write("tenHV: " + hv1.HocVien); Xây dựng và triển khai Web Service cho ứng dụng di động 30 3 Chuyển đổi từ chuỗi JSON sang đối tượng NET Ví dụ 2: Với chuỗi JSON sau { “tenHS": “Trần Văn B", "maHS": "123456", "ngaySinh": "01/01/1991" } Cách 1: Chuyển qua một đối tượng cụ thể Định nghĩa lớp đối tượng tương ứng public class HocSinh { public string tenHS{ get; set; } public string maHS{ get; set; } public string ngaySinh{ get; set; } } Xây dựng và triển khai Web Service cho ứng dụng di động 31 3 Chuyển đổi từ chuỗi JSON sang đối tượng NET Cách 1: Chuyển qua một đối tượng cụ thể Định nghĩa lớp đối tượng tương ứng: public class sinhvien { public string tenHS{ get; set; } public string maHS{ get; set; } public string ngaySinh{ get; set; } } Chuyển đổi JSON qua đối tượng: JavaScriptSerializer jss = new JavaScriptSerializer(); sinhvien hs = jss.Deserialize(JsonText); Xây dựng và triển khai Web Service cho ứng dụng di động 32 3 Chuyển đổi từ chuỗi JSON sang đối tượng NET Cách 2: Chuyển qua dạng liệu động (dynamic) JavaScriptSerializer jss = new JavaScriptSerializer(); var obj = jss.Deserialize(JsonText); Console.WriteLine(obj[“tenHS"]); Xây dựng và triển khai Web Service cho ứng dụng di động 33 Nội dung Giới thiệu các dạng dữ liệu tương tác giữa Web Service với ứng dụng TBDĐ Tổng quan về JSON Tạo JSON bằng Net Web Service Tương tác giữa Web Service với ứng dụng TBDĐ Xây dựng và triển khai Web Service cho ứng dụng di động 34 Tương tác giữa Web Service với ứng dụng TBDĐ • • Lấy liệu dạng JSON từ Net Web Service Truyền liệu dạng JSON từ ứng dụng di đợng lên Net Web Service • Mã hóa truyền biến JSON lên Net Web Service Xây dựng và triển khai Web Service cho ứng dụng di động 35 Xây dựng và triển khai Web Service cho ứng dụng di động 36 ... JSON bằng Net Web Service Tương tác giữa Web Service với ứng dụng TBDĐ Xây dựng và triển khai Web Service cho ứng dụng di động 34 Tương tác giữa Web Service với ứng dụng TBDĐ •... liệu tương tác giữa Web Service với ứng dụng TBDĐ Tổng quan về JSON Tạo JSON bằng Net Web Service Tương tác giữa Web Service với ứng dụng TBDĐ Xây dựng và triển khai Web Service cho. .. được lờng vào Xây dựng và triển khai Web Service cho ứng dụng di động 18 Các kiểu dữ liệu JSON Kiểu giá trị (Value) Xây dựng và triển khai Web Service cho ứng dụng di động 19 Các

Ngày đăng: 23/06/2020, 22:27

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan