JSON (JavaScript Object Notation) là một định dạng file tiêu chuẩn mở để chia sẻ dữ liệu sử dụng văn bản mà con người có thể đọc được để lưu trữ và truyền dữ liệu. Các file JSON được lưu trữ với phần mở rộng .json. JSON yêu cầu ít định dạng hơn và là một giải pháp thay thế tốt cho XML. JSON có nguồn gốc từ JavaScript nhưng là định dạng dữ liệu độc lập với ngôn ngữ. Việc tạo và phân tích cú pháp JSON được hỗ trợ bởi nhiều ngôn ngữ lập trình hiện đại. application/json là loại phương tiện được sử dụng cho JSON.

Lịch sử tóm tắt về định dạng file JSON

Nhu cầu giao tiếp giữa server và client trong thời gian thực đã dẫn đến việc tạo ra JSON. Định dạng JSON lần đầu tiên được chỉ định bởi Douglas Crockford vào tháng 3 năm 2001. JSON dựa trên tiêu chuẩn ECMA-262 Phiên bản thứ 3 - tháng 12 năm 1999, đây là một tập hợp con của JavaScript.

Phiên bản đầu tiên của tiêu chuẩn JSON ECMA-404 được xuất bản vào tháng 10 năm 2013 bởi Ecma International. RFC 7159 đã trở thành tài liệu tham khảo chính cho việc sử dụng Internet của JSON vào năm 2014. Vào tháng 11 năm 2017, ISO/IEC 21778:2017 đã được xuất bản dưới dạng tiêu chuẩn quốc tế. RFC 8259 được The Internet Engineering Task Force xuất bản vào ngày 13 tháng 12 năm 2017, đây là phiên bản hiện tại của tiêu chuẩn Internet STD 90.

Dữ liệu JSON được ghi theo cặp key/giá trị. Key và giá trị được phân tách bằng dấu hai chấm (:) ở giữa với key ở bên trái và giá trị ở bên phải. Các cặp key/giá trị khác nhau được phân tách bằng dấu phẩy (,). Key là một chuỗi được bao quanh bởi dấu ngoặc kép, ví dụ: “name”. Các giá trị có thể thuộc các loại sau.

Các đối tượng JSON cũng có thể được lồng vào nhau để thể hiện cấu trúc của dữ liệu. Dưới đây là một ví dụ về đối tượng JSON.

Kích thước tối đa của file JSON là bao nhiêu?

Thực tế không có giới hạn về kích thước tối đa của file JSON. Nó có thể dài bằng khoảng trống theo yêu cầu của nội dung được lưu trữ.

Khi nói đến việc sử dụng định dạng file JSON để truyền dữ liệu qua Internet, người ta cần cẩn thận về các tài nguyên có sẵn của máy tính. Nếu dữ liệu JSON lớn được truyền, quá trình truyền sẽ bị ảnh hưởng nếu trình duyệt client có bộ nhớ hạn chế.

Không có giới hạn cố định nào được xác định theo thông số kỹ thuật, nhưng bạn cần cẩn thận để không làm cạn kiệt tài nguyên trên máy tính của người dùng, vì nó sẽ nhanh chóng làm giảm trải nghiệm người dùng và họ có thể sẽ từ bỏ ứng dụng của bạn.

JSON có gì vượt trội hơn so với XML?

XML là một định dạng file phổ biến và được sử dụng rộng rãi khác để trao đổi dữ liệu qua Internet. Khi nói đến việc trao đổi dữ liệu giữa những ứng dụng, các nhà phát triển có tùy chọn sử dụng cả định dạng file XML và JSON. Tuy nhiên, JSON được coi là cách thuận tiện nhất để trao đổi dữ liệu giữa các ứng dụng qua Internet vì những lý do sau.

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.

Định dạng JSON sử dụng các cặp key – value để dữ liệu sử dụng. Nó hỗ trợ các cấu trúc dữ liệu như đối tượng và mảng. Ví dụ một tập tin có tên topdev_info.json với nội dung như ở dưới đây sử dụng format kiểu JSON để lưu trữ thông tin:

Ta có thể thấy cú pháp của JSON có 2 phần đó là key và value:

File 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.

JSON ban đầu được phát triển để dành phục vụ cho ứng dụng viết bằng JavaScript. Tuy nhiên vì JSON là một định dạng dữ liệu nên nó có thể được sử dụng bởi bất cứ ngôn ngữ nào mà không bị giới hạn.

Giá trị key trong JSON có thể là chuỗi (string), số (numner), rỗng (null), mảng (array), hoặc đối tượng (object).

Tìm việc làm cho lập trình JSON

Tìm việc làm lập trình Javascript

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ư:

Đó là khi bạn muốn lưu trữ dữ liệu đơn thuần dưới dạng metadata ở phía server. Chuỗi JSON sẽ được lưu vào database và sau đó khi cần dữ liệu thì sẽ được giải mã. Ví dụ với PHP, nó cung cấp các hàm liên quan đến JSON để mã hóa hoặc giải mã là json_encode và json_decode.

Một trường hợp khá phổ biến trong JavaScript mà dữ liệu được định dạng theo format JSON xuất hiện đó là trong các AJAX request.

Ví dụ bạn tạo tập tin topdev_info.json ở thư mục gốc của server (để khi request vào URL http://localhost/topdev_info.json thì server trả về nội dung của tập tin này) và sau đó bạn tạo một tập tin topdev_ajax.html với nội dung như sau:

Đoạn code trên sử dụng $.ajax() để gửi AJAX request lên server lấy về nội dung file topdev_info.json. Sau khi lấy về nội dung tập tin này thành công, dữ liệu sẽ được chuyển vào biến response.

Nếu bạn mở developer console của trình duyệt lên (nhấn phím F12) bạn sẽ thấy kiểu dữ liệu của biến response này được JavaScript object với các thuộc tính như name, title, decription.

Bài viết liên quan về JSON, tham khảo thêm ở đây nè:

Hy vọng với bài viết này bạn sẽ hiểu rõ hơn về JSON là gì cũng như các ứng dụng và cấu trúc của nó như thế nào. Đừng quên cập nhật thêm các nội dung mới hữu ích cho các Dever tại TopDev Blog nhé! Cảm ơn các bạn vì đã luôn ủng hộ chúng tớ.

Đừng quên ứng tuyển ngày các vị trí tuyển dụng IT lương cao tại đây