Hotline : 07 088 44444
Thích
Chia sẻ

JSON là gì? Quy tắc cú pháp của JSON

09/04/2021

Khám phá JSON là gì và những ứng dụng của nó đối với hệ thống web server.

  • Thứ nhất, JSON là viết tắt của JavaScript Object Notation
  • Thứ hai, JSON là một định dạng nhẹ để lưu trữ và vận chuyển dữ liệu
  • Tiếp theo, JSON thường được sử dụng khi dữ liệu được gửi từ máy chủ đến trang web

Ví dụ JSON là gì?

Ví dụ này định nghĩa một đối tượng nhân viên: một mảng gồm 3 bản ghi nhân viên (đối tượng):

{
  "employees":[
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
  ]
}

Quy tắc cú pháp JSON là gì?

  • Dữ liệu nằm trong cặp key: value
  • Dữ liệu được phân tách bằng dấu phẩy
  • Dấu ngoặc nhọn dành cho đối tượng (object)
  • Dấu ngoặc vuông dành cho mảng (array)

Ký hiệu đối tượng JavaScript

Định dạng JSON là gì? Nó hoàn toàn giống với mã để tạo các đối tượng JavaScript.

Do sự giống nhau này, một chương trình JavaScript có thể dễ dàng chuyển đổi dữ liệu JSON thành các đối tượng JavaScript gốc.

Cú pháp JSON có nguồn gốc từ cú pháp ký hiệu đối tượng JavaScript, nhưng định dạng JSON chỉ là văn bản. Code để đọc và tạo dữ liệu JSON có thể được viết bằng bất kỳ ngôn ngữ lập trình nào.

JSON là gì

Dữ liệu JSON – name & value

Dữ liệu JSON được viết dưới dạng cặp name/value, giống như các thuộc tính đối tượng JavaScript.

Một cặp name/value bao gồm một tên trường (trong dấu ngoặc kép), theo sau là dấu hai chấm, theo sau là một giá trị:

"firstName": "John"

Tên JSON yêu cầu dấu ngoặc kép. Tên JavaScript thì không.

Đối tượng JSON

Các đối tượng JSON được viết bên trong dấu ngoặc nhọn.

Giống như trong JavaScript, các đối tượng có thể chứa nhiều cặp name /value:

{"firstName":"John", "lastName":"Doe"}

Mảng JSON

Mảng JSON được viết bên trong dấu ngoặc vuông.

Giống như trong JavaScript, một mảng có thể chứa các đối tượng:

"employees": [
    {"firstName":"John", "lastName":"Doe"},
    {"firstName":"Anna", "lastName":"Smith"},
    {"firstName":"Peter", "lastName":"Jones"}
]

Trong ví dụ trên, đối tượng “nhân viên” là một mảng. Nó chứa ba đối tượng.

Mỗi đối tượng là một bản ghi của một người (có tên và họ).

Chuyển đổi một văn bản JSON thành một đối tượng JavaScript

Một cách sử dụng phổ biến của JSON là đọc dữ liệu từ máy chủ web và hiển thị dữ liệu trong trang web.

Để đơn giản, điều này có thể được thể hiện bằng cách sử dụng một string làm đầu vào.

Đầu tiên, tạo một string JavaScript chứa cú pháp JSON:

var text = '{ "employees" : [' +
  '{ "firstName":"John" , "lastName":"Doe" },' +
  '{ "firstName":"Anna" , "lastName":"Smith" },' +
  '{ "firstName":"Peter" , "lastName":"Jones" } ]}';

Sau đó, sử dụng hàm tích hợp JavaScript JSON.parse() để chuyển đổi string thành đối tượng JavaScript:

var obj = JSON.parse(text);

Cuối cùng, sử dụng đối tượng JavaScript mới trong trang của bạn:

Ví dụ

<p id="demo"></p>
<script>
  document.getElementById("demo").innerHTML =
  obj.employees[1].firstName + " " + obj.employees[1].lastName;
</script>
Nếu bạn có thắc mắc hay có vấn đề cần hỗ trợ, bạn có thể liên hệ trực tiếp với Vietnix thông qua các kênh sau:
  • Hotline: 1800 1093 - 07 088 44444
  • Email: support@vietnix.vn
  • Hoặc chat trực tiếp với Vietnix thông qua biểu tượng Livechat ở góc phải màn hình. Đội ngũ chuyên viên của chúng tôi luôn sẵn sàng tư vấn và hỗ trợ bạn 24/7.
Vietnix hiện đang có chương trình khuyến mãi lớn nhất trong năm, giảm giá TRỌN ĐỜI: Đăng ký dùng thử ngay và Vietnix sẽ hoàn tiền 100% nếu quý khách không hài lòng với chất lượng sản phẩm, dịch vụ!
Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hòan thành chứng chỉ CDMP của PersonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Hãy kết nối với mình nhé!
Bài viết liên quan
Không có bài viết liên quan
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments