JSON là gì?
JSON được sử dụng để lưu trữ thông tin một cách có tổ chức và dễ truy cập. Dạng đầy đủ của nó là JavaScript Object Notation. Nó cung cấp một bộ sưu tập dữ liệu mà con người có thể đọc được và có thể được truy cập một cách hợp lý.
Phần mở rộng tên tệp của nó cho mã lập trình được viết là
.json
. Loại Internet Media cho JSON là application / json và public.json là Định danh loại thống nhất của nó. Phần mở rộng tên tệp là .json.
Trong phần giới thiệu về JSON cho người mới bắt đầu này, bạn sẽ học:
- JSON là gì?
- Tại sao sử dụng JSON?
- Lịch sử của JSON
- Các tính năng của JSON
- Các loại dữ liệu trong JSON
- Ví dụ về JSON
- Ứng dụng của JSON
- JSON so với XML
- JSON không phải là gì?
- Nhược điểm của JSON
- Các công cụ JSON phổ biến (Tiện ích bổ sung)
Tại sao sử dụng JSON?
Dưới đây là những lợi ích / ưu điểm quan trọng của việc sử dụng JSON:
- Cung cấp hỗ trợ cho tất cả các trình duyệt
- Dễ đọc và viết
- Cú pháp đơn giản
- Bạn có thể phân tích cú pháp tự nhiên trong JavaScript bằng cách sử dụng hàm eval ()
- Dễ dàng tạo và thao tác
- Được hỗ trợ bởi tất cả các khung JavaScript chính
- Được hỗ trợ bởi hầu hết các công nghệ phụ trợ
- JSON được nhận dạng nguyên bản bởi JavaScript
- Nó cho phép bạn truyền và tuần tự hóa dữ liệu có cấu trúc bằng kết nối mạng.
- Bạn có thể sử dụng nó với các ngôn ngữ lập trình hiện đại.
- JSON là văn bản có thể được chuyển đổi thành bất kỳ đối tượng nào của JavaScript thành JSON và gửi JSON này đến máy chủ.
Lịch sử của JSON
Dưới đây là những dấu mốc quan trọng hình thành nên lịch sử của JSON:
- Douglas Crockford đã chỉ định định dạng JSON vào đầu những năm 2000.
- Trang web chính thức được ra mắt vào năm 2002.
- Vào tháng 12 năm 2005, Yahoo! bắt đầu cung cấp một số dịch vụ web của mình trong JSON.
- JSON trở thành tiêu chuẩn quốc tế ECMA vào năm 2013.
- Tiêu chuẩn định dạng JSON cập nhật nhất đã được xuất bản vào năm 2017.
Các tính năng của JSON
Dễ dàng sử dụng - JSON API cung cấp cao cấp mặt tiền, giúp bạn đơn giản hóa thường được sử dụng use-cases. Trong khi đó, bạn sẽ không gặp phải khó khăn gì.
Hiệu suất - JSON khá nhanh vì nó tiêu tốn rất ít dung lượng bộ nhớ, điều này đặc biệt thích hợp cho các hệ thống hoặc đồ thị đối tượng lớn.
Công cụ miễn phí - Thư viện JSON là mã nguồn mở và sử dụng miễn phí.
Không yêu cầu tạo ánh xạ - Jackson API cung cấp ánh xạ mặc định cho nhiều đối tượng được tuần tự hóa.
JSON sạch - Tạo kết quả JSON sạch và tương thích, dễ đọc.
Sự phụ thuộc - Thư viện JSON không yêu cầu bất kỳ thư viện nào khác để xử lý.
Quy tắc cho cú pháp JSON
Các quy tắc cho cú pháp JSON là:
- Dữ liệu phải ở dạng cặp tên / giá trị
- Dữ liệu phải được phân tách bằng dấu phẩy
- Niềng răng xoăn nên giữ được đồ vật
- Dấu ngoặc vuông giữ các mảng
Các loại dữ liệu trong JSON
Kiểu dữ liệu quan trọng được sử dụng trong JSON là:
Loại dữ liệu | Sự miêu tả |
Con số | Nó bao gồm số thực, số nguyên hoặc số thực |
Chuỗi | Nó bao gồm bất kỳ văn bản hoặc Unicode nào được trích dẫn kép với bộ thoát dấu gạch chéo ngược |
Boolean | Kiểu dữ liệu Boolean đại diện cho giá trị Đúng hoặc Sai |
Vô giá trị | Giá trị Null biểu thị rằng biến được kết hợp không có bất kỳ giá trị nào |
Vật | Nó là một tập hợp các cặp khóa-giá trị và luôn được phân tách bằng dấu phẩy và được đặt trong dấu ngoặc nhọn. |
Mảng | Nó là một chuỗi các giá trị có thứ tự được phân tách. |
Con số:
- Số là một định dạng dấu phẩy động có độ chính xác kép phụ thuộc vào phương pháp triển khai của nó.
- Trong JSON, bạn không thể sử dụng các định dạng Thập lục phân và Bát phân.
Bảng sau hiển thị các loại số:
Kiểu | Sự miêu tả |
Số nguyên | Số 1-9 và 0. Cả số dương và số âm. |
Phân số | Phân số như 3 |
Số mũ | Số mũ như e, e + |
Cú pháp:
var json-object-name = { string : number_value,… }
Thí dụ:
var obj = {salary: 2600}
Chuỗi:
Nó là một loạt các ký tự Unicode được trích dẫn kép và có dấu gạch chéo ngược thoát ra ngoài.
Bảng sau đây cho thấy các loại chuỗi khác nhau:
Kiểu | Sự miêu tả |
* | Sử dụng để nhập dấu ngoặc kép |
/ | Sử dụng cho solidus |
\ | Sử dụng cho solidus đảo ngược |
B | Sử dụng để thêm backspace |
F | Từ nguồn cấp dữ liệu |
N | Để tạo một dòng mới |
R | Sử dụng để xuống dòng |
T | Để hiển thị tab ngang |
U | Chữ số thập lục phân |
Cú pháp:
var json-object-name = { string : "string value",… }
Thí dụ:
var obj= {name: 'Andy'}
Boolean
Nó chỉ lưu trữ các giá trị đúng hoặc sai.
Cú pháp:
var json-object-name = {string : true/false,… }
Thí dụ:
var obj = {active: 'true'}
Mảng
- Nó là một tập hợp các giá trị có thứ tự.
- Bạn nên sử dụng một mảng khi tên khóa là các số nguyên tuần tự.
- Nó phải được đặt bên trong dấu ngoặc vuông phải được phân tách bằng ',' (dấu phẩy)
Cú pháp:
[value,… .]
Thí dụ:
Hiển thị một mảng lưu trữ nhiều đối tượng:
{"eBooks":[{"language":"Pascal","edition":"third"},{"language":"Python","edition":"four"},{"language":"SQL","edition":"second"}]}
Vật
- Một đối tượng phải được đặt trong dấu ngoặc nhọn,
- Nó phải là một tập hợp các cặp tên hoặc giá trị không có thứ tự.
- Tên phải được theo sau bởi ": (dấu hai chấm) và các cặp tên / giá trị cần được phân tách bằng cách sử dụng "," (dấu phẩy).
- Bạn có thể sử dụng nó khi tên khóa là chuỗi tùy ý.
Cú pháp:
{ string : value,… }
Thí dụ:
{"id": 110, "language": "Python","price": 1900,}
Khoảng trắng
Bạn có thể chèn khoảng trắng giữa một cặp mã thông báo.
Thí dụ:
Cú pháp:
{string: ",… .}
Thí dụ:
var a = " Alex"; var b = "Steve";
Ví dụ về JSON
Ví dụ mã đã cho xác định cách sử dụng JSON để lưu trữ thông tin liên quan đến sách lập trình cùng với ấn bản và tên tác giả.
{"book":[{"id":"444","language":"C","edition":"First","author":"Dennis Ritchie "},{"id":"555","language":"C++","edition":"second","author": Bjarne Stroustrup "}]}
Hãy hiểu định dạng JSON với một ví dụ khác. Ở đây, JSON xác định tên, họ và id của một sinh viên.
{"student": [{"id":"01","name": "Tom","lastname": "Price"},{"id":"02","name": "Nick","lastname": "Thameson"}]}
Ứng dụng của JSON
Dưới đây là một số ứng dụng phổ biến của JSON:
- Giúp bạn truyền dữ liệu từ máy chủ
- Định dạng JSON giúp truyền và tuần tự hóa tất cả các loại dữ liệu có cấu trúc.
- Cho phép bạn thực hiện các lệnh gọi dữ liệu không đồng bộ mà không cần làm mới trang
- Giúp bạn truyền dữ liệu giữa máy chủ và các ứng dụng web.
- Nó được sử dụng rộng rãi cho ứng dụng dựa trên JavaScript, bao gồm tiện ích mở rộng trình duyệt và các trang web.
- Bạn có thể truyền dữ liệu giữa máy chủ và ứng dụng web bằng JSON.
- Chúng ta có thể sử dụng JSON với các ngôn ngữ lập trình hiện đại.
- Nó được sử dụng để viết các ứng dụng dựa trên JavaScript bao gồm các tiện ích bổ sung của trình duyệt.
- Các dịch vụ web và API Restful sử dụng định dạng JSON để lấy dữ liệu công khai.
JSON so với XML
Đây là sự khác biệt cơ bản giữa JSON và XML
JSON | XML |
Đối tượng JSON có một loại | Dữ liệu XML không có kiểu đánh máy |
Các loại JSON: chuỗi, số, mảng, Boolean | Tất cả dữ liệu XML phải là chuỗi |
Dữ liệu có thể truy cập dễ dàng dưới dạng các đối tượng JSON | Dữ liệu XML cần được phân tích cú pháp. |
Các tệp JSON dễ đọc hơn. | Các tệp XML ít con người có thể đọc được. |
JSON được hỗ trợ bởi hầu hết các trình duyệt. | Phân tích cú pháp XML trên nhiều trình duyệt có thể phức tạp |
JSON không có khả năng hiển thị. | XML cung cấp khả năng hiển thị dữ liệu vì nó là một ngôn ngữ đánh dấu. |
Lấy giá trị thật dễ dàng | Việc lấy lại giá trị rất khó |
Được hỗ trợ bởi nhiều bộ công cụ Ajax | Không được hỗ trợ đầy đủ bởi bộ công cụ Ajax |
Một cách hoàn toàn tự động để giải mã hóa / tuần tự hóa JavaScript. | Các nhà phát triển phải viết mã JavaScript để tuần tự hóa / hủy tuần tự hóa từ XML |
Hỗ trợ bản địa cho đối tượng. | Đối tượng phải được thể hiện bằng các quy ước - hầu như không sử dụng các thuộc tính và phần tử. |
Ví dụ về JSON
{"student": [{"id":"01","name": "Tom","lastname": "Price"},{"id":"02","name": "Nick","lastname": "Thameson"}]}
Ví dụ về XML
01 Tom Price 02 Nick Thameson
JSON không phải là gì?
- JSON không phải là một định dạng tài liệu.
- Nó không phải là một ngôn ngữ đánh dấu.
- JSON không cung cấp định dạng tuần tự hóa chung.
- Nó không phải là cấu trúc lặp lại hoặc theo chu kỳ.
- Nó cũng không phải là một cấu trúc vô hình.
Nhược điểm của JSON
Dưới đây là một số ưu điểm của JSON:
- Không hỗ trợ vùng tên, do đó khả năng mở rộng kém
- Hỗ trợ công cụ phát triển hạn chế
- Không hỗ trợ định nghĩa ngữ pháp chính thức
Các công cụ JSON phổ biến (Tiện ích bổ sung)
Dưới đây là các công cụ JSON quan trọng:
JSONLint:
JSONLint là một dự án mã nguồn mở được sử dụng làm trình xác thực và trình định dạng lại cho JSON. Đây là một định dạng trao đổi dữ liệu nhẹ. Sao chép và dán, nhập trực tiếp hoặc nhập URL vào công cụ trình xác thực JSON để xác thực mã JSON của bạn.
Liên kết: https://jsonlint.com
Trình chỉnh sửa JSON Trực tuyến:
JSON Editor Online là một công cụ dựa trên web hữu ích. Nó cho phép bạn chỉnh sửa, xem và định dạng JSON. Nó hiển thị dữ liệu của bạn cạnh nhau trong một phần mềm biên tập mã rõ ràng, có thể chỉnh sửa.
Liên kết: https://jsoneditoronline.org/
Công cụ JSON Minifier:
Nó là một công cụ giúp bạn loại bỏ khoảng trắng và cung cấp mã JSON chiếm ít dung lượng nhất.
Liên kết: https://www.browserling.com/tools/json-minify
Công cụ chuyển đổi JSON sang XML:
Công cụ chuyển đổi JSON sang XML là một công cụ đơn giản và hiệu quả giúp bạn chuyển đổi mã JSON của mình.
Liên kết: https://codebeautify.org/jsontoxml
JSON định dạng:
Trình định dạng JSON giúp bạn giải quyết vấn đề bằng cách định dạng dữ liệu JSON để con người dễ đọc và gỡ lỗi.
Liên kết: https://jsonformatter.curiousconcept.com/
Tóm lược:
- Phương thức JSON được sử dụng để lưu trữ thông tin một cách có tổ chức và dễ truy cập.
- JSON Cung cấp hỗ trợ cho tất cả các trình duyệt được cung cấp bởi nhiều ngôn ngữ.
- Douglas Crockford đã chỉ định định dạng JSON vào đầu những năm 2000
- JSON API cung cấp mặt tiền cấp cao, giúp bạn đơn giản hóa các trường hợp sử dụng thường được sử dụng
- Các quy tắc quan trọng để viết hệ thống JSON là dữ liệu phải được viết theo cặp tên / giá trị.
- Number, String, Boolean, Null, Object và Array là các kiểu dữ liệu quan trọng được sử dụng trong JSON.
- Nó giúp bạn chuyển dữ liệu từ máy chủ.
- Đối tượng JSON có kiểu trong khi dữ liệu XML không có kiểu
- JSON không phải là một định dạng tài liệu
- Không hỗ trợ vùng tên, do đó khả năng mở rộng kém
- JSONLint là một dự án mã nguồn mở được sử dụng làm trình xác thực và trình định dạng lại cho JSON.