JSON trong lập trình mạng

JSON trong lập trình mạng

JavaScript Object Notation (JSON) là hình thức dựa trên text cuối cùng chúng ta sẽ nhìn vào, và nói là được sử dụng
rộng rãi nhất. XML có tính cao cấp, và YAML thỏa mãn nhu cầu cho một hình thức con người đọc được, nhưng khi nó đi
đến hình thức được chọn cho chuyển vận dữ liệu có cấu trúc bên trong các ứng dụng mạng, đặc biệt những cái cái sử
dụng HTTP, JSON là nhà vô địch không bàn cãi. Nhiều công cụ và thư viện cái trao đổi thông tin với các APIs mạng,
như những cái trong các học phần khác, sử dụng JSON để gửi/nhận dữ liệu có cấu trúc trên mạng.
Câu chuyện nguồn gốc của JSON tương tự với cái của XML, nhưng gần hơn. Nó đã được tạo như như một cơ chế nhẹ cho
trao đổi dữ liệu trên web, để làm hoạt động nhiều nội dung động hơn. Nó dựa trên một tập phụ ngôn ngữ lập trình Javascript
và các dạng sử dụng bên trong tiêu chuẩn kĩ thuật JSON phản ánh chặt chẽ những cái bên trong Javascript. Tuy nhiên,
JSON là một hình thức độc lập ngôn ngữ cái được hỗ trợ tốt bởi nhiều ngôn ngữ lập trình và các công cụ tự động hóa.
Các ngôn ngữ như Go và Python có hỗ trợ JSON bản địa trong các thư viện tiêu chuẩn của chúng.
JSON đã đi qua một vài lặp lại khi nó đi đến tiêu chuẩn hóa nhưng vẫn ổn định lớn với tiêu chuẩn ECMA-404 gốc thậm
chí đến ngày nay. Phiên bản hiện tại của tiêu chuẩn Internet cho JSON được mô tả trong RFC 8259. Như bạn có thể thấy
từ cái này, JSON là một hình thức đơn giản đáng kể, RFC 8259 chỉ dài 16 trang.
JSON cũng có thể được sử dụng cho các trường hợp sử dụng liên quan đến cấu hình. Node Package Manager (npm) sử
dụng JSON để mô tả cấu hình của một gói npm. Các nhà cung cấp dịch vụ đám mây như AWS và GCP sử dụng các files
JSON để cấu hình một loạt tiện ích command-line của chúng. JSON có các lợi ích chủ thể so với YAML trong khía cạnh này.
Không như YAML, JSON không sử dụng thụt dòng để chỉ ra phạm vi của một khối dữ liệu đã cho, nhưng thay vào là cú pháp
{ } và [ ]. Cái này có thể làm nó dễ dàng hơn để đọc và biên tập các tài liệu JSON cho những ai không quen sử dụng
thụt dòng cho phạm vi hóa, khi được thực hiện trong ngôn ngữ lập trình như Python. Tuy nhiên, cái này hoàn toàn là
vấn đề ưa thích.

Chia sẻ