Skip to main content

JSON là gì? Tìm hiểu chi tiết về JSON thông qua ví dụ

JSON là gì?

JSON là viết tắt của JavaScript Object Notation, là một kiểu định dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được. JSON là một tiêu chuẩn mở để trao đổi dữ liệu trên web.

Đơn giản hơn, JSON là định dạng giúp lưu trữ các thông tin có cấu trúc và nó chủ yếu được dùng để truyền tải dữ liệu giữa server và client. 

JSON là sẽ sử dụng các cặp key-value để dữ liệu có thể sử dụng. Khi đó, nó sẽ hỗ trợ cho những cấu trúc dữ liệu dạng đối tượng và mảng. 

Ví dụ: một file tên example.json lưu giữ thông tin một ứng dụng

{
    "name" : "PHPStorm",
    "version" : "16.0.1",
    "license" : "commercial"
}

Tập tin json có thể được lưu với bất kỳ phần mở rộng nào, tuy nhiên thông thường thì nó được lưu dưới phần mở rộng là .json hoặc .js.

Cấu trúc chuỗi JSON

Trong cấu trúc của một chuỗi JSON, thường thì sẽ tồn tại khá nhiều dạng và bạn cần phải nắm được nó là: object và các kiểu object, kiểu object in array hoặc kiểu nest object. Còn object nó bao gồm key, value như thông thường, và object trong JSON thường được thể hiện bằng dấu ngoặc nhọn vô cùng quen thuộc {}.

Object là gì?

Object trong Json được thể hiện bằng dấu ngoặc nhọn {}. Khái niệm Object trong Json cũng khá tương đồng với Object trong Javascript. Tuy nhiên, Object trong Json vẫn có những giới hạn như:

  • Key: phải luôn nằm trong dấu ngoặc kép, không được phép là biến số.
  • Value: Chỉ cho phép các kiểu dữ liệu cơ bản: numbers, String, Booleans, arrays, objects, null. Không cho phép function, date, undefined.
  • Không cho phép dấy phẩy cuối cùng như Object trong Javascript.

Kiểu OBJECT

var nhat = {
   "firstName" : "Nhat",
   "lastName" : "Nguyen",
   "age" :  "34"
};

Kiểu OBJECT IN ARRAY

var employees = [{
   "name" : "Binh",
   "age" :  "38",
   "gender" : "male"
 
},
{
   "name" : "Nhat",
   "age" : "34",
   "gender" : "male"
 
},
{
   "name" : "Nhu",
   "age" : "25",
   "gender" : "female"
}];

Kiểu NEST OBJECT

var employees = {
  "hieu" : {
  "name" : "Hieu",
  "age" :  "29",
  "gender" : "male" 
},
 
"nhat" : {
  "name" : "Nhat",
  "age" : "34",
  "gender" : "male"
},
 
"nhu" : {
  "name" : "Nhu",
  "age" : "25",
  "gender" : "female"
}
}

Quan hệ của AJAX và JSON

AJAX là một kỹ thuật trong thiết kế web với mục đích giúp cho ứng dụng web hoạt động không đồng bộ cũng như hỗ trợ xử lý được tất cả các yêu cầu đối với server từ phía sau. 

Bạn hoàn toàn có thể lấy và phân tích được dữ liệu JSON bằng AJAX. Bởi vì, AJAX chính là một trong những phương thức giúp trao đổi dữ liệu với máy chủ cũng như có thể cập nhật chúng thành các thành phần có sẵn bên trong trang web và người dùng sẽ không cần phải tải lại toàn bộ từ đầu.