1. JSON là gì?
JSON là một định dạng dữ liệu được sử dụng rất phổ biến trong lập trình, đặc biệt là khi Client và Server cần trao đổi dữ liệu với nhau.
JSON có cách tổ chức dữ liệu khá đơn giản và dễ đọc. Dữ liệu thường được biểu diễn theo dạng Key – Value, trong đó Key là tên của dữ liệu và Value là giá trị tương ứng.
Ví dụ một thông tin người dùng có thể bao gồm tên, tuổi, email, địa chỉ hoặc trạng thái tài khoản. Những thông tin này có thể được đóng gói thành JSON rồi gửi từ Client lên Server hoặc từ Server trả về Client.
Hiểu đơn giản:
JSON là định dạng giúp các hệ thống trao đổi dữ liệu với nhau.
JSON được sử dụng rất nhiều trong REST API, Web Application, Mobile Application và các hệ thống Backend.
2. JSON được sử dụng ở đâu?
JSON thường xuất hiện khi làm việc với API.
Ví dụ khi người dùng đăng ký tài khoản, ứng dụng sẽ lấy các thông tin như tên, email và mật khẩu rồi gửi lên Server. Những dữ liệu này có thể được đóng gói dưới dạng JSON để Server nhận và xử lý.
Ngược lại, khi Server xử lý xong, Server cũng có thể trả dữ liệu về cho Client dưới dạng JSON.
Ví dụ khi ứng dụng yêu cầu danh sách sản phẩm, Server có thể trả về thông tin của nhiều sản phẩm bao gồm tên sản phẩm, giá, hình ảnh, mã sản phẩm và số lượng.
Vì JSON có cấu trúc rõ ràng và dễ xử lý nên hầu hết các ngôn ngữ lập trình hiện nay đều có thể làm việc với JSON.
3. Một số kiểu dữ liệu trong JSON
JSON hỗ trợ nhiều kiểu dữ liệu cơ bản để có thể biểu diễn các thông tin khác nhau.
Một số kiểu thường gặp:
- String: Dùng để lưu chuỗi ký tự như tên hoặc email.
- Number: Dùng để lưu số như tuổi, giá sản phẩm hoặc số lượng.
- Boolean: Chỉ có hai giá trị là true hoặc false, thường dùng để biểu diễn trạng thái.
- Object: Dùng để nhóm nhiều thông tin liên quan lại với nhau.
- Array: Dùng để lưu một danh sách nhiều giá trị hoặc nhiều đối tượng.
- null: Dùng khi một dữ liệu không có giá trị.
Trong thực tế, JSON có thể chứa nhiều Object và Array lồng nhau, vì vậy nó có thể biểu diễn được những dữ liệu tương đối phức tạp.
4. HTTP Status Code là gì?
HTTP Status Code là mã trạng thái được Server trả về sau khi nhận và xử lý một HTTP Request.
Mục đích của Status Code là giúp Client biết Request đã được xử lý thành công hay xảy ra vấn đề.
Ví dụ khi Client gửi yêu cầu lấy danh sách người dùng và Server xử lý thành công, Server có thể trả về 200 OK.
Nếu Client yêu cầu một tài nguyên không tồn tại thì Server có thể trả về 404 Not Found.
HTTP Status Code được chia thành 5 nhóm chính:
- 1xx là Thông tin.
- 2xx là Request thành công.
- 3xx là Chuyển hướng.
- 4xx là Lỗi liên quan đến Request hoặc Client.
- 5xx là Lỗi xảy ra phía Server.
5. Các HTTP Status Code thường gặp
Trong quá trình làm Web và REST API, một số Status Code thường gặp là:
- 200 OK là Request được xử lý thành công.
- 201 Created là Tạo dữ liệu mới thành công.
- 204 No Content là Request thành công nhưng không có dữ liệu trả về.
- 301 Moved Permanently là Tài nguyên đã được chuyển sang địa chỉ khác.
- 400 Bad Request là Request được gửi lên không hợp lệ.
- 401 Unauthorized là Người dùng chưa đăng nhập hoặc thông tin xác thực không hợp lệ.
- 403 Forbidden là Người dùng đã được xác thực nhưng không có quyền thực hiện hành động.
- 404 Not Found là Không tìm thấy tài nguyên được yêu cầu.
- 405 Method Not Allowed là HTTP Method được sử dụng không được Server cho phép.
- 500 Internal Server Error là Server gặp lỗi trong quá trình xử lý.
- 502 Bad Gateway là Server trung gian nhận được phản hồi không hợp lệ từ Server khác.
- 503 Service Unavailable là Server hiện tại không thể xử lý Request, có thể do quá tải hoặc đang bảo trì.
6. JSON kết hợp với HTTP Status Code
Trong REST API, JSON và HTTP Status Code thường được sử dụng cùng nhau.
HTTP Status Code cho biết kết quả tổng quát của Request, còn JSON có thể chứa thông tin chi tiết hơn về kết quả đó.
Ví dụ khi người dùng đăng nhập đúng tài khoản và mật khẩu, Server có thể trả về 200 OK và thông tin liên quan đến tài khoản hoặc Token đăng nhập.
Nếu người dùng nhập sai email hoặc mật khẩu, Server có thể trả về 401 Unauthorized để cho Client biết thông tin xác thực không hợp lệ. Client dựa vào Status Code này để biết rằng việc đăng nhập thất bại và có thể hiển thị thông báo phù hợp cho người dùng.
Tương tự, nếu người dùng yêu cầu một sản phẩm không tồn tại, Server có thể trả về 404 Not Found. Ứng dụng nhận được mã này sẽ biết rằng dữ liệu cần tìm không tồn tại và có thể thông báo cho người dùng.
Như vậy, Status Code giúp xác định trạng thái, còn JSON giúp truyền nội dung dữ liệu hoặc thông báo chi tiết.
7. Tóm lại
Có thể hiểu đơn giản:
JSON là định dạng dùng để truyền và trao đổi dữ liệu giữa Client và Server.
HTTP Status Code là mã cho biết kết quả xử lý Request.
Khi làm việc với REST API, hai thành phần này thường đi cùng nhau. Client gửi Request đến Server, Server xử lý rồi trả Response. Trong Response sẽ có Status Code để cho biết Request thành công hay thất bại, đồng thời có thể có dữ liệu được trả về dưới dạng JSON.
Đơn giản :
JSON Dùng để truyền dữ liệu.
Status Code Dùng để báo trạng thái.
2xx là Thành công.
3xx là Chuyển hướng.
4xx là Lỗi từ Request/Client.
5xx là Lỗi từ Server.
Các thuật ngữ liên quan cần nhớ: JSON, Key, Value, Object, Array, Request, Response, HTTP Status Code, REST API, Client, Server, HTTP Method, 2xx, 3xx, 4xx, 5xx.





Khoá học lập trình game con rắn cho trẻ em




