Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
1,92 MB
Nội dung
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG BÁO CÁO MƠN HỌC: THIẾT KẾ NGOẠI VI VÀ KỸ THUẬT GHÉP NỐI Chủ đề: Chuẩn Đóng Gói JSON Nhóm Bài Tập Lớn : 12 Hồng Trường Giang : B19DCDT065 Nguyễn Hồng Đức : B19DCDT061 Trần Quang Đức : B19DCDT064 Trần Ánh Dương : B19DCDT041 Hà Nội-2023 LỜI MỞ ĐẦU Trong lĩnh vực lập trình, có nhiều thuật ngữ, khái niệm khác Có khái niệm đơn giản, có khái niệm trừu tượng đòi hỏi phải dành thời gian nghiên cứu thảo luận Trong số đó, thuật ngữ JSON ví dụ Đây khơng phải kiểu ngơn ngữ lập trình mà kiểu ngôn ngữ trao đổi liệu lý tưởng JSON định dạng liệu phát hành để thay cho XML, hỗ trợ trao đổi thông tin Đây khái niệm quen thuộc giới công nghệ thông tin hiểu rõ Sau giải đáp thắc mắc định dạng JSON Mục lục I Tổng quan JSON: .4 Khái Niệm: Đặc Điểm: .4 Định dạng JSON: II Cú pháp Json: Cấu trúc: Quy tắc viết: III Phương thức JSON: JSON.stringify( ): JSON.parse( ): 10 IV Tuần tự hóa giữ liệu JSON: 13 Sự cần thiết cho mơ hình liệu với API 13 Dịng quy trình xác: 14 V Ưu điểm nhược điểm JSON: 15 Ưu điểm: .15 Nhược Điểm: 16 VI Ứng dụng JSON: 17 Trao đổi liệu: 17 Gửi giữ liệu: 17 VII So sánh JSON với định dạng khác: 18 VIII Ví dụ sử dụng JSON .20 Tài liệu tham khảo .20 I Tổng quan JSON: Khái Niệm: JSON từ viết tắt JavaScript Object Notation Là kiểu định dạng liệu để trao đổi liệu trên web, định dạng JSON gồm text => JSON # với kiểu liệu thông thường JSON tạo Douglas Crockford vào đầu năm 2000 (Douglas Crockford Chip Morningstar gửi tin nhắn JSON vào tháng năm 2001.) Đặc Điểm: JSON thường sử dụng cho API cài đặt cấu hình JSON có dung lượng nhẹ, dễ đọc ghi JSON định dạng liệu độc lập sử dụng nhiều ngôn ngữ lập trình JSON tạo để thay cho XML, giúp truyền liệu máy chủ ứng dụng dễ dàng hơn, thúc đẩy trình trao đổi liệu hiệu Định dạng JSON: Các dạng JSON định dạng JSON thiết kế rõ ràng nên người dùng hồn tồn theo mà áp dụng với quy tắc phù hợp Định dạng JSON thường văn nên dễ để chuyển đổi trao đổi liệu máy chủ máy khác Chuỗi JSON thường mã hoá với hai dạng mã hố JSON_encode JSON-decode Sau thực mã hoá, kiểm tra nội dung mã hoá, lưu lại cần đưa vào test website JSON: https://www.json.org/json-en.html. Bạn lưu trữ data JSON tệp có phần mở rộng json tạo employee.json với thuộc tính II Cú pháp Json: Cấu trúc: JSON xây dựng hai cấu trúc: Bộ sưu tập cặp tên/giá trị Trong ngôn ngữ khác nhau, điều thực dạng đối tượng, ghi, cấu trúc, từ điển, bảng băm, danh sách khóa mảng kết hợp Danh sách có thứ tự giá trị Trong hầu hết ngôn ngữ, điều thực dạng mảng, vectơ, danh sách chuỗi Trong JSON, chúng có dạng sau: - Đối tượng tập hợp cặp tên/giá trị khơng có thứ tự Một đối tượng bắt đầu “{” dấu ngoặc nhọn bên trái kết thúc “}” dấu ngoặc nhọn bên phải - Mỗi tên theo sau dấu hai chấm cặp tên/giá trị phân tách dấu phẩy - Ngoài cú pháp JSON tập hợp cú pháp JavaScript Quy tắc viết: - Dữ liệu nằm cặp tên/giá trị - Dữ liệu ngăn cách dấu phẩy - Các đối tượng đặt cặp dấu ngoặc nhọn - Các mảng đặt cặp dấu ngoặc vuông ❖ Lưu ý: Trong JSON, giá trị phải loại liệu sau: - a string - a number - an object (JSON object) - an array - a boolean - null Ví dụ 1: -JSON Data: -JSON Numbers: {"age": 30} -JSON Objects: JSON Arrays: -JSON Booleans: {"sale":true} -JSON null: {"middlename":null} Ví dụ 2: { "name": "Aleix Melon", //cho biết tên nhân viên, giá trị thuộc String loại nên có kèm theo dấu ngoặc kép "id": "E00245", //là kiểu định danh employee String kiểu "role": ["Dev", "DBA"], //đóng vai trị employee tổ chức hỗ trợ nhiều vai trị khác thuộc kiểu liệu ưu tiên Array "age": 23, //là tuổi nhân viên, thuộc kiểu liệu số Number "doj": "11-12-2019", //ngày nhân viên gia nhập vào công ty, ngày tháng nên phải đặt vào dấu ngoặc kép, coi String "married": false, //tình trạng nhân viên, có gia đình hay chưa, thuộc kiểu liệu String "address": { //địa nhân viên bao gồm đường phố, thành phố, quốc gia, mã zip, Do kiểu liệu Object đại diện với cặp key-value "stress": "32, Laham St.", "city": "Innsbruck", "country": "Australia" }, "referred-by": "E0012" //đây id riêng nhân viên giới thiệu nhân viên vào tổ chức Trong trường hợp nhân viên tham gia cách sử dụng mã giới thiệu, thuộc tính có giá trị Trong trường hợp khơng sử dụng mã giới thiệu có null giá trị } { “name”: “Aleix Melon”}, cho biết tên nhân viên, giá trị thuộc String loại nên có kèm theo dấu ngoặc kép. “id”: “E00245”, kiểu định danh employee String kiểu. “role”: [“Dev”, “DBA”], đóng vai trị employee tổ chức hỗ trợ nhiều vai trò khác thuộc kiểu liệu ưu tiên Array. “age”: 23, tuổi nhân viên, thuộc kiểu liệu số Number. “doj”: “11-12-2019”, ngày nhân viên gia nhập vào công ty, ngày tháng nên phải đặt vào dấu ngoặc kép, coi String. “married”: false, tình trạng nhân viên, có gia đình hay chưa, thuộc kiểu liệu String. “address”: { địa nhân viên bao gồm đường phố, thành phố, quốc gia, mã zip, Do kiểu liệu Object đại diện với cặp key-value. “stress”: “32, Laham St.”, “city”: “Innsbruck”, “country”: “Australia” }, “referred-by”: “E0012” id riêng nhân viên giới thiệu nhân viên vào tổ chức Trong trường hợp nhân viên tham gia cách sử dụng mã giới thiệu, thuộc tính có giá trị Trong trường hợp khơng sử dụng mã giới thiệu có null giá trị. } III Phương thức JSON: JSON.stringify( ): Sử dụng JSON.stringify để trao đổi liệu đến từ máy chủ web Đây cách phổ biến JSON - Khi gửi liệu đến máy chủ web, liệu phải chuỗi 10 - Chuyển đổi đối tượng JavaScript thành chuỗi JSON.stringify() Sử dụng JSON.stringify() localStorage: - localStorage: nhớ cục lưu liệu trình duyệt user nhận cặp key-value để lưu vào - Để lưu liệu vào localStorage ta sử dụng lệnh: localStorage.setItem("name", value) với value bắt buộc thuộc định dạng JSON ⇨ localStorage.setItem("session", JSON.stringify(session)); Ví dụ: 11 JSON.parse( ): Khi nhận liệu từ máy chủ web, liệu ln chuỗi Phân tích cú pháp liệu JSON.parse() liệu trở thành đối tượng JavaScript 12 Request JSON từ server cách sử dụng AJAX request: 13 - AJAX kỹ thuật thiết kế web với mục đích giúp cho ứng dụng web hoạt động không đồng hỗ trợ xử lý tất yêu cầu server từ phía sau. - Có thể lấy phân tích liệu JSON AJAX Bởi vì, AJAX phương thức giúp trao đổi liệu với máy chủ cập nhật chúng thành thành phần có sẵn bên trang web người dùng không cần phải tải lại tồn từ đầu - AJAX thuật ngữ chung dành riêng cho kỹ thuật người dùng có khả kết nối với máy chủ. 14 IV Tuần tự hóa giữ liệu JSON: Mỗi ngơn ngữ hóa liệu cho phép máy chủ API trả liệu để máy khách API chép giống biến cấu trúc liệu tìm thấy máy chủ API Để mô tả cấu trúc liệu, ngơn ngữ hóa bao gồm ký tự đặc biệt quy ước truyền đạt ý tưởng danh sách biến, từ điển cấu trúc liệu phức tạp Sự cần thiết cho mơ hình liệu với API Đầu tiên, hình thứ bên đưa ví dụ cách để xác định số thách thức với chép giá trị biến từ thiết bị sang thiết bị khác Sau hình thứ cho thấy cách sử dụng ngôn ngữ hóa liệu để giải vấn đề hiển thị hình thứ Đầu tiên, xem xét bước đánh số hình thứ REST Client yêu cầu tài nguyên máy chủ cần trả lời Trong REST, tài nguyên tập hợp biến xác định API, máy chủ REST cần trả tập hợp biến cho máy REST Client bên trái Các bước hình chạy sau: 15 b Máy chủ REST lấy lưu trữ biến RAM (bước 1) để đáp ứng yêu cầu REST c Mã REST API tạo REST response gửi qua mạng, đặt xác máy chủ REST có RAM để đại diện cho biến tài nguyên d Máy REST client nhận thơng báo phản hồi REST, lưu trữ xác bit byte vào RAM nó, cố gắng có biến, liệu cấu trúc liệu máy chủ Đầu tiên, chương trình viết ngơn ngữ khác sử dụng khác quy ước để lưu trữ biến họ nội khơng có tiêu chuẩn cho lưu trữ biến nội ngôn ngữ Trong thực tế, chương trình viết ngôn ngữ với phiên khác ngơn ngữ khơng thể lưu trữ tất biến chúng với quy ước nội Để khắc phục vấn đề này, ứng dụng cần phương thức tiêu chuẩn biểu diễn biến để truyền lưu trữ biến bên ngồi chương trình Ngơn ngữ hóa liệu cung cấp chức Dịng quy trình xác: Hình thứ cho thấy dịng quy trình xác, so sánh với hình thứ với việc hóa liệu quy trình bao gồm: - Máy chủ thu thập liệu nội cung cấp cho API - API chuyển đổi biểu diễn bên thành mơ hình liệu đại diện cho biến (với JSON hiển thị hình) - Máy chủ gửi mơ hình liệu định dạng JSON thông qua thông điệp - Máy REST Client lấy liệu nhận chuyển đổi liệu định dạng JSON thành biến định dạng gốc máy khách ứng dụng 16 Khi kết thúc trình, ứng dụng REST Client có biến tương đương với biến yêu cầu từ máy chủ lệnh gọi API Lưu ý bước cuối để chuyển đổi từ ngơn ngữ hóa liệu sang định dạng gốc dòng mã! Cuối cùng, lưu ý ngơn ngữ hóa liệu JSON cho phép ứng dụng trao đổi biến qua mạng, ứng dụng lưu trữ liệu định dạng JSON V Ưu điểm nhược điểm JSON: Ưu điểm: Hiện nay, JSON ngôn ngữ định dạng nhiều người yêu thích nhờ tính vượt trội: - Định dạng trao đổi data văn với dung lượng nhẹ. JSON định dạng hồn tồn độc lập với ngơn ngữ lập trình, không phụ thuộc vào ngôn ngữ hay yếu tố khác trình thực thao tác. 17 - - - JSON tự mơ tả dễ hiểu người sử dụng Không giống số kiểu định dạng liệu khác, cấu trúc JSON tuân theo phong cách tối giản, nhỏ gọn Do đó, giúp cải thiện khả đọc người dùng Đặc biệt, JSON thường có xu hướng thực cải tiến đáng kể trình làm việc với hệ thống phức tạp. Quá trình phân tích cú pháp JSON nhanh chóng so với định dạng liệu XML Điều dễ hiểu thư viện thao tác DOM XML yêu cầu thêm nhớ để xử lý tệp XML lớn Còn JSON có u cầu liệu nên tốc độ phân tích chi phí giảm xuống đáng kể. Dữ liệu có trúc dạng đồ tạo điều kiện thuận lợi cho mơ hình dự đốn tương đối dễ hiểu dù cặp từ khoá-giá trị bị giới hạn nhiệm vụ Hơn nữa, cấu trúc JSON đơn giản dễ dàng để đọc Dù sử dụng ngơn ngữ lập trình nào, người dùng dễ dàng ánh xạ miền đối tượng khác nhau. Nhược Điểm: - Định dạng viết khó hiểu, trái ngược với XML, có cú pháp tương tự HTML, giúp dễ học Ngôn ngữ ký hiệu JavaScript dễ bị công /hack, đặc biệt trong trang web mà chưa tin tưởng không xử lý lỗi trên yêu cầu VI Ứng dụng JSON: JSON cú pháp để gửi, nhận trao đổi liệu hay nói cách khác 18 sử dụng để truyền liệu từ ứng dụng web đến máy chủ từ máy chủ đến ứng dụng web Trao đổi liệu: b Khi trao đổi liệu trình duyệt máy chủ, liệu văn JSON văn bản, chuyển đổi đối tượng JavaScript thành JSON gửi JSON đến máy chủ c Chúng ta chuyển đổi JSON nhận từ máy chủ thành đối tượng JavaScript Bằng cách này, làm việc với liệu dạng đối tượng JavaScript mà không cần phân tích cú pháp dịch phức tạp Gửi giữ liệu: Nếu có liệu lưu trữ đối tượng JavaScript, bạn chuyển đổi đối tượng thành JSON gửi đến máy chủ 19 VII So sánh JSON với định dạng khác: Một vài năm trước, XML (Ngôn ngữ đánh dấu mở rộng) lựa chọn phổ biến để lưu trữ chia sẻ liệu qua mạng Nhưng khơng phải trường hợp JSON lên giải pháp thay phổ biến cho XML lý sau: a Ít dài dịng — XML sử dụng nhiều từ mức yêu cầu, khiến việc đọc viết tốn nhiều thời gian b Nhẹ & nhanh — XML phải phân tích cú pháp trình phân tích cú pháp XML, JSON phân tích cú pháp hàm tích hợp sẵn JavaScript Phân tích cú pháp tệp XML lớn chậm cần nhiều nhớ c Nhiều loại liệu — Bạn lưu trữ mảng XML sử dụng rộng rãi định dạng JSON 20