1. Trang chủ
  2. » Công Nghệ Thông Tin

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 49 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 36
Dung lượng 0,97 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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.

Trang 1

Trường ĐH Khoa Học Tự Nhiên Tp Hồ Chí Minh

TRUNG TÂM TIN HỌC

2015

Bài 4: Tương tác giữa Web Service

với ứng dụng trên thiết bị di động

Ngành Mạng & Thiết bị di động

www.t3h.vn

Trang 2

1. 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Đ

2. Tổng quan về JSON

3. Tạo JSON bằng Net Web Service

4. Tương tác giữa Web Service với ứng dụng trên TBDĐ

Nội dung

Trang 3

1 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Đ

Xây dựng và triển khai Web Service cho ứng dụng di động 3

XML - eXtensible Markup Language

• Là một dạng chuẩn cho phép lưu các thông tin hướng cấu trúc,

được tổ chức dưới 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 ra theo quy ước của người, (hoặc Chương trình) tạo ra XML theo những quy ước của chính người tạo

• Giúp đơn giản hóa việc chia sẻ dữ liệu giữa các hệ thống khác

nhau, đặc biệt là các hệ thống được kết nối với Internet

hay lược đồ Schema để mô tả dữ liệu

Trang 4

1 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Đ

XML - eXtensible Markup Language

Trang 5

1 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Đ

Xây dựng và triển khai Web Service cho ứng dụng di động 5

JSON - JavaScript Object Notation

Định nghĩa dữ liệu theo ngôn ngữ JavaScript, tiêu chuẩn

ECMA-262 năm 1999

Là một định dạng văn bản đơn giản với các trường dữ liệu được

lồng vào nhau

Trang 6

1. 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Đ

2. Tổng quan về JSON

• JSON là gì?

• Tạo sao nên sử dụng JSON?

• Cú pháp JSON

• Cấu trúc xây dựng JSON

• Các kiểu dữ liệu JSON

3. Tạo JSON bằng Net Web Service

4. Tương tác giữa Web Service với ứng dụng trên TBDĐ

Nội dung

Trang 7

2 1 JSON là gì?

Xây dựng và triển khai Web Service cho ứng dụng di động 7

JSON - JavaScript Object Notation

ECMA-262 năm 1999

• Là một định dạng văn bản đơn giản với các trường dữ liệu được lồng vào nhau

• Dùng để trao đổi dữ liệu giữa các thành phần của một

hệ thống tương thích với hầu hết các ngôn ngữ C, C++, C#, Java, JavaScript, Perl, Python

Trang 8

2 2 Tại sao 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ững định dạng dữ liệu khác

như: XML, HTML, … → Tiết kiệm dung lượng hơn XML, HTML,

• Dễ dàng chuyển đổi (parse) dữ liệu từ dạng chuỗi (nhận từ server)

sang dữ liệu có thể sử dụng được (thành Object, Number, Array)

• Dễ truy cập nội dung

• Với những ứng dụng AJAX lấy và xử lý dữ liệu từ 1 web service nào

đó khác domain Nếu nội dung trả về có dạng JSON thì javascript

từ trang web của chúng ta 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, chỉ qua 1 bước (chuyển chuỗi

Trang 9

2 3 Cú pháp JSON?

Xây dựng và triển khai Web Service cho ứng dụng di động 9

Cú pháp JSON là một tập hợp con của cú pháp đối tượng JavaScript:

Để 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

Trang 10

2 3 Cú pháp JSON?

Cặp tên và giá trị (name & values) của JSON

• Một cặp Tên/Giá trị chứa tên 1 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"

Trang 11

2 3 Cú pháp JSON?

Xây dựng và triển khai Web Service cho ứng dụng di động 11

Tập tin JSON (JSON Files)

• Kiểu tập tin (file) của JSON là ".json"

• Kiểu MIME của JSON là "application/json"

Trang 12

2 3 Cấu trúc xây dựng JSON

Được xây dựng trên 2 cấu trúc chính:

• Tập hợp của các cặp tên và giá trị name-value

Các kiểu thể hiện:

1 đối tượng (object), sự ghi (record), cấu trúc (struct), từ điển

(dictionary), bảng băm (hash table), danh sách khoá (keyed

list), hay mảng liên hợp

• Tập hợp các giá trị đã được sắp xếp

Các kiểu thể hiện:

1 mảng, véc tơ, tập hợp hay là 1 dãy tuần tự (sequence)

Trang 13

2 4 Các kiểu dữ liệu JSON

Xây dựng và triển khai Web Service cho ứng dụng di động 13

JSON có 5 kiểu dữ liệu chính:

Kiểu số (Number)

Kiểu chuỗi (String)

Kiểu mảng (Array)

Kiểu đối tượng (Object)

Giá trị (Value)

Trang 14

2 4 Các kiểu dữ liệu JSON

Kiểu đối tượng (Object)

• 1 đối tượng là 1 hổn độn của các cặp tên và giá trị

dấu ngoặc đơn phải }

• Từng tên được theo sao bởi dấu 2 chấm (:) và các cặp

tên/giá trị được tách ra bởi dấu phẩy (,)

Trang 15

2 4 Các kiểu dữ liệu JSON

Xây dựng và triển khai Web Service cho ứng dụng di động 15

Kiểu đối tượng (Object)

Ví dụ:

{ “ten":“An" , “ho":“Nguyen" }

Trang 16

2 4 Các kiểu dữ liệu JSON

Kiểu mảng (Array)

dấu ngoặc vuông phải ]

Trang 17

2 4 Các kiểu dữ liệu JSON

Xây dựng và triển khai Web Service cho ứng dụng di động 17

Kiểu mảng (Array)

}

Trang 18

2 4 Các kiểu dữ liệu JSON

Kiểu giá trị (Value)

•Giá trị JSON có thể là:

 1 chuỗi (nằm trong dấu nháy đôi "")

 1 số luận lý (true hoặc false)

 Kiểu null

Trang 19

2 4 Các kiểu dữ liệu JSON

Xây dựng và triển khai Web Service cho ứng dụng di động 19

Kiểu giá trị (Value)

Trang 20

2 4 Các kiểu dữ liệu JSON

Kiểu chuỗi (String)

bao bọc trong các dấu trích dẫn kép (")

•Dùng dấu chéo (/) để thoát khỏi 1 chuỗi

•1 ký tự đã được hiển thị như là 1 chuỗi ký tự đơn độc

Trang 21

2 4 Các kiểu dữ liệu JSON

Xây dựng và triển khai Web Service cho ứng dụng di động 21

Kiểu chuỗi (string)

Trang 22

2 4 Các kiểu dữ liệu JSON

Kiểu số (Number)

Giống với kiểu số trong C và Java, trừ định dạng bát phân và hex là

không thể dùng

Trang 23

2 4 Các kiểu dữ liệu JSON

Xây dựng và triển khai Web Service cho ứng dụng di động 23

Ví dụ sử dụng các kiểu dữ liệu JSON

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ơ”}, ]

}

Trang 24

2 4 Các kiểu dữ liệu JSON

Phân tích ví dụ

- Tuoi (tuổi) kiểu dữ liệu là Number

- hoTen (họ tên) kiểu dữ liệu là String

- nam (giới tính) kiểu dữ liệu là Boolean

- SVNganhCNTT (sinh viên ngành CNTT), SVNganhCNSH (Sinh viên

ngành CNSH) kiểu dữ 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 là

tên thuộc tính, “Nguyễn Văn An” là giá trị của thuộc tính đó

Trang 25

1. 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Đ

2. Tổng quan về JSON

3. 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 chỉ trả về 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

4. Tương tác giữa Web Service với ứng dụng trên TBDĐ

Nội dung

Xây dựng và triển khai Web Service cho ứng dụng di động 25

Trang 26

3 1 Cấu hình Web API Service chỉ trả về JSON

Mở file WebApiConfig.cs trong thư mục App_Start → thêm dòng

sau vào trong phương thức Register:

config.Formatters.Remove(config.Formatters.XmlFormatter);

Để cấu trúc thuộc tính của đối tượng JSON trả về đúng quy cách

CamelCase thì ta thêm config sau vào Register:

var json = config.Formatters.JsonFormatter;

json.SerializerSettings.PreserveReferencesHandling =

Newtonsoft.Json.PreserveReferencesHandling.Objects;

json.SerializerSettings.ContractResolver = new

Trang 27

3 Chuyển đổi giữa kiểu dữ liệu JSON và đối tượng

.NET (Serializing - Deserializing JSON)

Xây dựng và triển khai Web Service cho ứng dụng di động 27

Để chuyển đổi (convert) một chuỗi (string) định dạng JSON sang

đối tượng (object) của Net và ngược lại, ta sử dụng lớp

JavaScriptSerializer trong thư viện System.Web.Extensions

Trang 28

3 2 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 các thuộc tính: maHV, tenHV và các

thuộc tính get, set cho từng thuộc tính, phương thức khởi tạo với 2 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ả:

Trang 29

3 2 Chuyển đổi từ đối tượng NET sang chuỗi JSON

Xây dựng và triển khai Web Service cho ứng dụng di động 29

Ví dụ 2:

HocSinh hs1= new HocSinh();

hs1 = getHocSinhByID(123);

JavaScriptSerializer jss = new JavaScriptSerializer();

string chuoiJSON = jss.Serialize(hs1);

Trang 30

3 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 trên thành đối tượng

HocVien:

Response.Write("<br/>tenHV: " + hv1.HocVien);

Trang 31

Xây dựng và triển khai Web Service cho ứng dụng di động 31

Cách 1: Chuyển qua một đối tượng cụ thể

Định nghĩa 1 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; }

}

3 3 Chuyển đổi từ chuỗi JSON sang đối tượng NET

Trang 32

Cách 1: Chuyển qua một đối tượng cụ thể

Định nghĩa 1 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();

3 3 Chuyển đổi từ chuỗi JSON sang đối tượng NET

Trang 33

Xây dựng và triển khai Web Service cho ứng dụng di động 33

Cách 2: Chuyển qua dạng dữ liệu động (dynamic)

JavaScriptSerializer jss = new JavaScriptSerializer();

var obj = jss.Deserialize<dynamic>(JsonText);

Console.WriteLine(obj[“tenHS"]);

3 3 Chuyển đổi từ chuỗi JSON sang đối tượng NET

Trang 34

1. 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Đ

2. Tổng quan về JSON

3. Tạo JSON bằng Net Web Service

4. Tương tác giữa Web Service với ứng dụng trên TBDĐ

Nội dung

Trang 35

4 Tương tác giữa Web Service với ứng dụng

trên TBDĐ

Xây dựng và triển khai Web Service cho ứng dụng di động 35

Service

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

🧩 Sản phẩm bạn có thể quan tâm

w