Bài 01: JSON là gì? Cấu trúc chuỗi JSON
Thông thường khi làm các ứng dụng website thì bạn sẽ lưu dữ liệu vào một hệ quản trị cơ sở dữ liệu nào đó như là MYSQL, SQL SERVER, tuy nhiên nếu sử dụng những ứng dụng này thì bắt buộc hệ thống phải cài đặt nó. Bây giờ giả sử bạn đang muốn xây dựng một ứng dụng nhỏ, gọn và đơn giản thì sao? Nếu sử dụng các hệ quản trị CSLD trên thì không hay lắm vì phải cài đặt nhiều thứ nên gây phiền hà cho người dùng. Nếu như lúc trước thì người ta sẽ chọn sql lite hay XML để lưu trữ, nhưng hiện nay thì có một chuẩn CSDL khác nữa đó là JSON. Vậy JSON là gì thì chúng ta sẽ tìm hiểu qua các phần dưới đây.
1. JSON là gì?
JSON là chữ viết tắt của Javascript Object Notation, đây là một 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, bạn có thể sử dụng lưu nó vào một file, một record trong CSDL rất dễ dàng. JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến, theo tôi thì trong tương lai tới trong các ứng dụng sẽ sử dụng nó là đa số.
Ví dụ dưới đây mình định nghĩa một chuỗi JSON lưu trữ thông tin cá nhân của mình như sau, đây là ví dụ quan trọng nhất của phần json là gì này.
1
2
3
4
5
6
| { "username" : "thehalfheart" , "email" : "thehalfehart@gmail.com" , "website" : "freetuts.net" , "title" : "Học lập trình với JSON" } |
- Chuỗi JSON được bao lại bởi dấu ngoặc nhọn {}
- Các
key
,value
của JSON bắt buộc phải đặt trong dấu nháy kép {"}, nếu bạn đặt nó trong dấu nháy đơn thì đây không phải là một chuỗi JSON đúng chuẩn. Nên trường hợp trongvalue
của bạn có chứa dấu nháy kép thì hãy dùng dấu (\) để đặt trước nó nhé, ví dụhọc \"json là gì\" tại website freetuts.net
. - Nếu có nhiều dữ liệu (nhiều cặp key => value) thì ta dùng dấu phẩy (,) để ngăn cách
- Các key của JSON bạn nên đặt chữ cái không dấu hoặc số, dấu _ và không có khoảng trắng., ký tự đầu tiên không nên đặt là số. Điều này rất giống với nguyên tắc đặt tên biến trong PHP.
Tới đây bạn đã trả lời được cho câu hỏi JSON là gì và tại sao lại sử dụng JSON rồi đấy.
2. Cấu trúc chuỗi JSON
Bây giờ chúng ta sẽ làm một vài ví dụ liên quan đến JSON, vì chúng ta chưa sử dụng JSON kết hợp với các ngôn ngữ lập trình nên trong các ví dụ dưới đây chỉ ở mức độ là xây dựng chuỗi JSON đúng chuẩn. Thông qua các ví dụ này các bạn sẽ biết được cấu trúc một chuỗi JSON là gì.
Ví dụ 1: Có 3 sinh viên gồm các thông tin sau: Nguyễn Văn Cường - 21 tuổi, Nguyễn Văn Kính - 22 tuổi, Nguyễn Văn Chính - 23 tuổi. Hãy xây dựng chuỗi JSON lưu trữ thông tin danh sách sinh viên đó.
Nếu xem ví dụ ở phần 1 JSON là gì thì bạn thấy không thể lưu được, vì nếu lưu thì ta sẽ lưu thế này:
1
2
3
4
5
6
7
8
| { "sinhvien1_ten" : "Nguyễn Văn Cường" , "sinhvien1_tuoi" : "21 Tuổi" , "sinhvien2_ten" : "Nguyễn Văn Kính" , "sinhvien2_tuoi" : "22 Tuổi" , "sinhvien3_ten" : "Nguyễn Văn Chính" , "sinhvien4_tuoi" : "22 Tuổi" } |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| [ { "name" : "Nguyễn Văn Cường" , "age" : "21 tuổi" }, { "name" : "Nguyễn Văn Kính" , "age" : "22 tuổi" }, { "name" : "Nguyễn Văn Chính" , "age" : "23 tuổi" } ] |
Ví dụ 2: Giả sử chúng ta có bài toán như sau, ở một trường đại học lưu trữ điểm của sinh viên, mỗi sinh viên sẽ có một mã số sinh viên sẽ đăng ký học các tín chỉ khác nhau, hãy tổ chức cấu trúc chuỗi JSON để lưu trữ danh sách sinh viên và danh sách các môn học của sinh viên đó.
Giả sử:
- Nguyễn Văn Cường có ID là sv0001
- Nguyễn Văn Kính có ID là sv0002
Bài này hơi khó rồi đấy nhỉ, các bạn tham khảo lời giải sau và rút ra bài học nhé.
1
2
3
4
5
6
7
8
9
10
| { "sv0001" : { "toan" : "Môn Toán" , "ly" : "Môn Lý" }, "sv0002" : { "toan" : "Môn Toán" , "anh" : "Môn Anh" } } |
[]
để bao ngoài cùng mà thay bằng cặp dấu {}
, tại sao? Đơn giản là vì cặp []
dùng để bao các chuỗi JSON con, mà chuỗi JSON thì bắt buộc có cặp {}
nên trong trường hợp trên không sử dụng được (các cặp con ở dạng key => {value}
)3. Lời kết
Tuân theo quy luật cấu trúc chuỗi JSON ở 2 vi dụ trên bạn sẽ tạo được chuỗi JSON đúng chuẩn và không bị lỗi, kết hợp với phần 1 JSON là gì nữa là tuyệt vời ông mặt trời. Các bài tiếp theo chúng ta sẽ tìm hiểu các áp dụng JSON kết hợp với các ngôn ngữ như Javascript và PHP. Chúc các bạn buổi tối vui vẻ.
các phần còn lại ở đây: netx
0 nhận xét:
Đăng nhận xét