JSON là gì? Tại sao nên dùng JSON?

JSON là khái niệm phổ biến trong lĩnh vực lập trình. Đây còn là một kiểu định dạng dữ liệu rất thường thấy trong phát triển ứng dụng công nghệ. Nếu bạn vẫn chưa biết JSON là gì thì hãy cùng SVN Hosting tìm hiểu rõ hơn qua bài viết hôm nay nhé!

JSON là gì?

Định nghĩa JSON

JSON là từ viết tắt của cụm từ JavaScript Object Noation, đây là một định dạng trao đổi dữ liệu dựa trên văn bản, được sử dụng để biểu diễn các cấu trúc và đối tượng dữ liệu đơn giản dựa trên trình duyệt web.

JSON đôi khi còn được sử dụng trong môi trường lập trình máy tính để bàn và máy chủ. Kiểu định dạng này ban đầu dựa trên ngôn ngữ lập trình JavaScript và được giới thiệu là ngôn ngữ kịch bản trang cho trình duyệt Web Netscape Navigator.

JSON được sử dụng trong JavaScript để tổ chức dữ liệu như một sự thay thế cho XML. Một điểm tương tự như XML đó là JSON không phụ thuộc vào bất kỳ ngôn ngữ lập trình nào và có thể được kết hợp với C++, Java, Python, Lisp và nhiều ngôn ngữ khác. Các tài liệu JSON tương đối nhẹ và được thực thi một cách nhanh chóng trên máy chủ web.

json-la-gi

Sau hơn 15 năm phát triển, JSON đã trở nên phổ biến trong cộng đồng lập trình. Ngày nay, đây là định dạng được lựa chọn cho hầu hết mọi dịch vụ web công khai và kể cả dịch vụ web riêng tư.

File JSON là gì?

Dữ liệu JSON sẽ được lưu trữ trong các tệp và kết thúc bằng phần mở rộng .json. Để con người có thể đọc được, file JSON chỉ đơn giản là các tệp văn bản thuần túy có thể dễ dàng mở và kiểm tra.

JSON có cấu trúc như thế nào?

Cú pháp của JSON

Thông thường JSON sẽ được trình bài theo 2 dạng sau:

“tên_thuộc_tính” :“giá_trị_thuộc_tính”.

Hoặc

“tên_thuộc_tính” : “giá_trị_số_của_thuộc_tính”.

Hai thành phần chính tạo nên JSON là Key và Value.

  • Key: luôn là một chuỗi được đặt trong dấu ngoặc kép.
  • Value: có thể là một chuỗi, số, biểu thức boolean, mảng hoặc đối tượng.

Nguyên tắc cấu tạo nên JSON phải tuân thủ theo quy tắc sau:

  • Các dữ liệu phải nằm trong cặp Key – Value.
  • Sử dụng dấu ngoặc vuông để lưu trữ mảng và giá trị, chúng được phân tách bằng dấu phẩy.
  • Một JSON luôn bắt đầu và kết thúc bằng dấu ngoặc nhọn “{}”.
  • Các Key, Value của JSON luôn được đặt trong dấu nháy kép {“”}.
  • Nếu có nhiều cặp Key – Value bạn phải dùng dấu “,” để ngăn cách chúng.

json-la-gi

Các loại Value

Array: Một bộ sưu tập các Value có thứ tự được gọi là Array.

Ví dụ:

“students”:[

{“firstName”:”Jerry”, “lastName”:”Michel”},

{"firstName":"Lyly", "lastName":"Garner"},

{"firstName":"Bruce", "lastName":"Cooper"}

]

Boolean: Biểu diễn Value dưới dạng True hoặc False.

Ví dụ:

{“married”:”false”)

Số: Gồm số nguyên và số thực.

Ví dụ:

{“age”:”30”}

Đối tượng: Là một mảng kết hợp của các cặp Key – Value .

Ví dụ:

“employees”: {"firstName":"Tom", "lastName":"Jackson”}

Chuỗi: Là một số ký tự văn bản thuần.

Ví dụ:

"firstName":"Tom"

Ví dụ về JSON

Dưới đây là một ví dụ về dữ liệu được mã hóa trong JSON:

{

“firstName”: “Johan”,

“lastName”: “Freeman”,

“loginCount”: 4,

“isWriter”: true,

“worksWith”: [“Spantree Technology Group”, “InfoWorld”],

“pets”: [

{

“name”: “Lilly”,

“type”: “Raccoon

}

]

}

Như các bạn đã thấy, cấu trúc trên xác định rõ ràng các thuộc tính của một người bao gồm họ và tên, số lần người đó đã đăng nhập, người này có phải là nhà văn hay không, danh sách các công ty mà người đó làm việc cùng và kể cả danh sách thú cưng. Cấu trúc như trên có thể được chuyển từ máy chủ đến trình duyệt web hoặc ứng dụng di động, sau đó sẽ thực hiện một số hành động như hiển thị dữ liệu hoặc lưu lại để tham khảo sau này.

Những ưu điểm và nhược điểm của JSON

Ưu điểm

Ngắn gọn và đơn giản

Không giống với một số kiểu định dạng khác, cấu trúc của JSON tuân theo phong cách nhỏ gọn, đơn giản nhằm cải thiện khả năng đọc của người dùng. Đặc biệt là khi làm việc với một hệ thống phức tạp, JSON có xu hướng thực hiện các cải tiến đáng kể.

Nhanh hơn

Quá trình phân tích cú pháp JSON nhanh hơn so với XML vì thư viện thao tác DOM trong XML yêu cầu thêm bộ nhớ để xử lý các tệp XML lớn. Ngược lại, JSON yêu cầu ít dữ liệu hơn, dẫn đến giảm chi phí và tăng tốc độ phân tích.

Có thể đọc được dễ dàng

Cấu trúc JSON rất đơn giản và dễ đọc. Bất kể ngôn ngữ lập trình bạn đang sử dụng là gì, bạn vẫn có thể dễ dàng ánh xạ các miền đối tượng.

Dữ liệu có cấu trúc

JSON sử dụng cấu trúc dữ liệu bản đồ, trong khi XML tuân theo cấu trúc cây. Các cặp Key-Value bị giới hạn nhiệm vụ nhưng tạo điều kiện thuận lợi cho mô hình dự đoán và tương đối dễ hiểu.

Nhược điểm

Không có schema

Vì không có schema, bạn có thể linh hoạt để trình bày dữ liệu theo bất kỳ cách nào bạn muốn. Nhưng ngược lại, bạn có thể vô tình tạo ra dạng dữ liệu bị sai.

Không đa dạng các loại số

Do JSON sử dụng định dạng Số thực dấu phẩy động IEEE-754. Điều này làm bạn không thể tận dụng các loại số đa dạng và nhiều sắc thái có sẵn trong nhiều ngôn ngữ lập trình.

Không định dạng ngày

Thiếu sót này có nghĩa khiến các nhà phát triển phải sử dụng chuỗi biểu thị ngày, dẫn đến sự khác biệt về định dạng hoặc phải biểu diễn ngày ở dạng mili giây.

Không có chú thích

Điều này khiến bạn không thể yêu cầu tài liệu bổ sung và tăng khả năng hiểu nhầm.

Vẫn chưa ngắn gọn nhất

Mặc dù JSON ngắn hơn XML, nhưng đây vẫn chưa phải là định dạng trao đổi dữ liệu ngắn gọn nhất. Vì vậy, đối với các dịch vụ có khối lượng lớn hoặc có mục đích đặc biệt, bạn sẽ muốn sử dụng các định dạng dữ liệu hiệu quả hơn là JSON.

json-la-gi

Sự khác biệt giữa JSON và XML

Điều gì giúp JSON vượt trội hơn XML?

XML ngày càng trở nên ít phổ biến hơn trong các hệ thống mới. Ngoài việc dài dòng hơn, XML cũng dẫn đến sự mơ hồ khi phân tích cú pháp thành một cấu trúc dữ liệu thân thiện với JavaScript.

Việc chuyển đổi XML sang một đối tượng JavaScript có thể mất từ ​​hàng chục đến hàng trăm dòng code. Còn với JSON, việc chuyển đổi thành một đối tượng JavaScript chỉ cần một dòng mã và không yêu cầu bất kỳ kiến ​​thức nào trước đó về đối tượng đang được phân tích cú pháp.

json-la-gi

Khi nào nên sử dụng JSON?

JSON có định dạng là văn bản thuần túy nên rất dễ sử dụng để gửi dữ liệu đến một máy chủ bất kỳ và thường được dùng để trao đổi dữ liệu văn bản giữa trình duyệt và máy chủ. Vì vậy, nếu bạn nhận dữ liệu từ máy chủ bạn có thể sử dụng JSON như bất kỳ đối tượng JavaScript nào khác.

JSON là một định dạng dữ liệu ngắn gọn và đơn giản nên bạn chỉ cần nắm được một vài nguyên tắc chính là có thể giải mã giá trị của JSON trên toàn bộ trang web. Hy vọng qua những thông tin mà bài viết đã chia sẻ sẽ mang lại một nguồn kiến thức bổ ích cho bạn.

FAQs về JSON

JSON có khó học không?

JSON rất dễ học và dễ sử dụng hơn so với XML. Hầu hết các API web hiện đại đều xuất dữ liệu ở định dạng JSON. Vì một định dạng dữ liệu nhẹ đang nhanh chóng trở thành định dạng mặc định trong việc trao đổi dữ liệu trên internet ngày nay! Tóm lại, JSON nhẹ, không phụ thuộc vào ngôn ngữ và dễ đọc,viết.

Làm sao để kiểm tra dữ liệu định dạng JSON mà không cần viết mã?

Một số số tiện ích dưới dây giúp bạn làm được điều đó:
Json Formatter: Hỗ trợ định dạng và gửi mã xác thực JSON tùy ý.
Json Viewer: Trang web này giúp bạn hiểu được cấu trúc mã JSON của mình
Json Beautifier: Là một công cụ giúp bạn làm đẹp mã JSON của mình.
Json Converter: Giúp bạn chuyển dữ liệu từ định dạng JSON sang định dạng khác.

Làm sao để mở và chỉnh sửa file JSON?

Bạn có thể mở file JSON bằng cách nhấp chuột phải vào file -> Open With -> Notepad (hoặc Notepad + +)

Mối quan hệ giữa JSON và AJAX là gì?

AJAX là một nhóm gồm nhiều công nghệ phát triển web được sử dụng để tạo các ứng dụng web động hoặc một số ứng dụng giàu tính Internet. AJAX cho phép bạn lấy và phân tích dữ liệu JSON do đây là một trong những phương thức giúp trao đổi dữ liệu với máy chủ và đồng thời cập nhật chúng thành các thành phần có sẵn bên trong một trang web, điều này người dùng sẽ không cần phải tải lại toàn bộ từ đầu.
Tóm lại, AJAX chính là một thuật ngữ chung dành riêng cho những kỹ thuật của người dùng có khả năng kết nối được với máy chủ.
 

Mọi thắc mắc cần giải đáp hay mong muốn cần tư vấn, vui lòng để lại thông tin bên dưới. Chuyên viên tư vấn của SVN HOSTING COMPARISON sẽ giúp bạn chọn được giải pháp tốt nhất cho quá trình phát triển công ty bạn.

SVN HOSTING COMPARISON

  • Địa chỉ: 241 Cộng Hòa, Phường 13, Tân Bình, Hồ Chí Minh.
  • Email: [email protected]
  • Hotline: 0973.666.777
  • Website: http://svnhostingcomparison.com