Trong bài viết này chúng ta sẽ cùng nhau nghiên cứu về một kiểu định dạng dữ liệu được dùng rất phổ biến trong việc phát triển ứng dụng đấy là chuỗi dữ liệu JSON. Vì tính phổ biến của JSON nên hầu như nếu như bạn gặp một developer có trải nghiệm thì cam kết anh ta sẽ không lạ gì với kiểu dữ liệu này.
Chuỗi dữ liệu JSON là gì?

JSON là chữ viết tắt của Javascript Object Notation, đây chính là một dạng dữ liệu tuân theo một quy luật nhất định mà đa phần các ngôn ngữ lập trình ngày nay đều có khả năng đọc được, bạn có thể dùng lưu nó vào một file, một record trong CSDL rất đơn giản. JSON có định dạng giản đơn, tiện dụng và truy vấn hơn XML rất nhiều có thể tính ứng dụng của nó ngày nay cực kì là phổ biến.
- JSON là từ rút gọn của JavaScript Object Notation
- JSON là định dạng trao đổi dữ liệu văn bản dung lượng nhẹ
- JSON là ngôn ngữ độc lập
- JSON được “tự mô tả” và dễ hiểu
>>>Xem thêm: Mã nguồn mở là gì? Tổng hợp các mã nguồn mở tốt nhất hiện nay
Có thể dùng JSON trong những tình huống nào?
Lưu giữ dữ liệu đơn thuần. đấy là khi bạn mong muốn lưu trữ dữ liệu dưới dạng metadata ở phía server. Chuỗi JSON có thể được lưu vào database và sau đấy khi cần dữ liệu thì sẽ được giải mã. Ví dụ với PHP, cung cấp các hàm có sự liên quan đến JSON để mã và giải mã là json_encode và json_decode. Chú ý: Cách này cũng giống như dùng công dụng serialize và unserialize của PHP. Tuy nhiên trong khi serialize và unserialize dùng với cả dữ liệu và biến, tức là dựa vào ngôn ngữ lập trình là PHP và dĩ nhiên chẳng thể transfer sang ngôn ngữ lập trình khác để unserialize được.
Cấu trúc chuỗi dữ liệu JSON

Object là gì?
Object trong Json được biểu hiện bằng dấu ngoặc nhọn {}. Định nghĩa 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 nên phép là biến số.
- Value: Chỉ cho phép các loại 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.
Chuỗi dữ liệu JSON – 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"
Các kiểu values
Values chứa loại dữ liệu JSON hợp lệ, chẳng hạn như:
Array
Array là bộ sưu tập values có thứ tự. Nó được bao quanh bởi dấu ngoặc vuông [] và mỗi value bên trong được phân tách bằng dấu phẩy.
Một value dạng array có khả năng chứa object JSON, có nghĩa là nó sử dụng cùng khái niệm cặp key/value. Ví dụ:
- “students”:[
- “firstName”:”Tom”, “lastName”:”Jackson”,
- “firstName”:”Linda”, “lastName”:”Garner”,
- “firstName”:”Adam”, “lastName”:”Cooper”
- ]
Thông tin giữa các dấu ngoặc vuông là array, chứa ba objects trong đó.
Object
Một object chứa một key và một value. Có dấu hai chấm sau mỗi key và dấu phẩy sau mỗi value, cũng phân biệt giữa mỗi object. Cả hai đều nằm trong dấu ngoặc kép.
Object như một value, phải tuân theo quy tắc giống như một object giống như thế này:
- “employees”: “firstName”:”Tom”, “lastName”:”Jackson”
Ở đây, employees là key và mọi thứ bên trong ngoặc nhọn là object.
Chuỗi
Chuỗi là một bộ tập hợp gồm số 0 hoặc nhiều ký tự Unicode. Nó được bao quanh bởi hai dấu ngoặc kép.
Ví dụ này cho thấy Tom biểu thị một chuỗi bởi vì nó là một bộ ký tự trong dấu ngoặc kép.
- “firstName”:”Tom”
Số
Số trong JSON là số nguyên hoặc số thực, ví dụ
- “age”:”30”
Boolean
Bạn có thể dùng true hoặc false làm value như sau:
- {“married”:”false”)
Rỗng
Nó thể hiện là không có nội dung.
- {“bloodType”:”null”}
>>>Xem thêm: Mã UTM code là gì? Cách đo lường hiệu quả chiến dịch quảng cáo
Sử dụng JSON
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 lưu tập tin application_info.json
ở thư mục gốc của server (để khi truy cập vào URL http://localhost/application_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 json_ajax.html
với nội dung như sau:
Đoạn code trên sử dụng$.ajax()
để {gởi|gửi} AJAX request lên server lấy về nội dung tập tinapplication_info.json
. Sau khi thu thập về thông tin tập tin này thành công, dữ liệu sẽ được chuyển vào biếnresponse
. Nếu bạn mở developer console của trình duyệt web lên (thông thườngsử dụng phím F12) bạn sẽ thấy kiểu dữ liệu của biếnresponse
này được JavaScript object với các tính chất nhưname
,version
,license
.
Sử dụng JSON Với PHP

Giống như JavaSCript, PHP cũng hỗ trợ dữ liệu định dạng JSON.
$json_string = <<$arr = json_decode($json_string, true);
print_r($arr);
Đoạn code trên sử dụng hàm json_decode
để decode dữ liệu được lưu trong biến $json_string
. Biến $json_string
lúc này có kiểu dữ liệu là String của PHP tuy nhiên đồng thời chuỗi này cũng hỗ trợ định dạng JSON.
Kết quả trả về của đoạn code trên sẽ như sau:
Array(
[name] => PHPStorm
[version] => 16.0.1
[license] => commercial
)
Tới đây chúng ta đã dừng lại việc tìm hiểu về kiểu format JSON và cách ứng dụng kiểu dữ liệu này trong hai ngôn ngữ là JavaScript và PHP.
Bài viết trên, mình đã chia sẻ tới các bạn khái niệm về chuỗi dữ liệu JSON. Cảm ơn các bạn đã theo dõi bài viết nhé!
>>Xem thêm: Source Code là gì? Tổng hợp các loại mã nguồn phổ biến nhất hiện nay
Mỹ Phượng-Tổng hợp
Tham khảo: (hostinger, codehub,…)