Nền tảng Kiến thức - Hành trang tới Tương lai
Card image

Chương 3-Bài 1. Chuẩn dữ liệu JSON

Tác giả: Dương Nguyễn Phú Cường #12067
Ngày đăng: 1 tháng trước
Lượt xem: 105

JSON là gì?

  • JSON là viết tắt của JavaScript Object Notation
  • JSON là một chuẩn dữ liệu ngắn gọn, thường dùng để giao tiếp trên môi trường Client <-> Server.

JSON Syntax - Cú pháp khai báo một JSON Object

Cú pháp

Quy tắc khai báo JSON

Khi khai báo JSON Object cần có một số quy tắc sau:

  1. Bắt đầu và kết thúc bằng cặp dấu ngoặc móc {   }
  2. Tên thuộc tính (property) cần được đặt theo quy cách đặt tên biến:
    • Tên không được bắt đầu bằng số
    • Tên không chứa các ký tự đặc biệt
    • Thường đặt tên viết thường
    • Ví dụ đặt tên thuộc tính (property) hợp lệ: ho_ten, gioi_tinh, dia_chi, username, password, ...
    • Ví dụ đặt tên thuộc tính (property) không hợp lệ: 1ho_ten, Gi@i_T!nh, ...
  3. Tên thuộc tính (property) cần phải được bao bọc trong dấu ngoặc kép "   "
  4. Mỗi thuộc tính (property) phân cách với nhau bằng dấu ,
  5. Thuộc tính (property) cuối cùng thì không cần dấu ,

Ví dụ 1

Khai báo JSON object mô tả 1 đối tượng sinh viên có các thuộc tính sau:

  • Họ tên: Nguyễn Sinh Viên
  • Giới tính: Nam
  • Điểm trung bình: 8.5

Khai báo JSON:

{
   "ho_ten": "Nguyễn Sinh Viên",
   "gioi_tinh": "Nam",
   "diem_trung_binh": 8.5
}

Các kiểu dữ liệu có thể sử dụng trong JSON Values

In JSON, values là một trong các giá trị sau:

  • a string: một chuỗi ký tự
  • a number: một số (số nguyên hoặc sổ thực)
  • a boolean: một giá trị boolean (true / false)
  • null: một giá trị rỗng
  • an array: một mảng các object
  • an object: một object

JSON Syntax - Cú pháp khai báo một JSON Array

Cú pháp


Ví dụ JSON mô tả thông tin cá nhân

{
  "ho_ten": "Dương Nguyễn Phú Cường",
  "gioi_tinh": "Nam",
  "nam_lam_viec": 2012,
  "cac_lop_giang_day": [
    {
      "ma_lop": "web001",
      "ten_lop": "Lập trình Web HTML CSS JS",
      "si_so": 25,
      "da_to_chuc_thi": false
    },
    {
      "ma_lop": "web002",
      "ten_lop": "Lập trình Web PHP MySQL",
      "si_so": 20,
      "da_to_chuc_thi": true
    },
    {
      "ma_lop": "web003",
      "ten_lop": "Lập trình Web Laravel",
      "si_so": 35,
      "da_to_chuc_thi": true
    }
  ]
}

 


Chương trình học


  1. Bức tranh tổng thể về Lập trình WEB 1
    1. Sơ đồ vận hành của một Website Java Spring #12095
  2. Cài đặt, setup môi trường lập trình Java Spring 4
    1. Cài đặt Postman #12064
    2. Cài đặt tool Lombok #11611
    3. Cài đặt web server XAMPP #84
    4. Cài đặt công cụ truy vấn database HeidiSQL #1833
  3. Tiêu chuẩn lập trình WEB 8
    1. Chuẩn dữ liệu JSON #12067
    2. Tiêu chuẩn mã lỗi khi giao tiếp giữa Client và Server trên nền web - HTTP Status Code #12077
    3. Tiêu chuẩn RESTful API là gì? #12066
    4. Kiến trúc MVC là gì? #65
    5. Mô hình kiến trúc MVC vận hành trong Java Spring Framework #12108
    6. Mô hình kiến trúc 3 lớp (Three layers) vận hành trong Java Spring MVC Framework #12118
    7. Mô hình Kiến trúc 3 lớp (three layers) phân chia DTO thành REQUEST / RESPONSE theo từng ngữ cảnh vận hành trong Java Spring MVC Framework #12261
    8. Mô hình kiến trúc 3 lớp (three layers) có kiểm tra ràng buộc dữ liệu (validation) vận hành trong Java Spring MVC Framework #12240
  4. Tổng quan về framework Spring Java 2
    1. Giới thiệu về Spring #12065
    2. Tạo chương trình Java Spring đầu tiên - Hello World #12090
  5. Phân tích nghiệp vụ, phân rã danh sách chức năng và thiết kế database 2
    1. Thiết kế Cơ sở dữ liệu Bán hàng TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12053
    2. Phân rã danh sách chức năng Web app TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12058
  6. Video khóa học 1
    1. Playlist khóa học Java Spring Framework trên Youtube #12114
  7. Dự án thực tế mẫu - Trang web app bán hàng có quản lý kho hàng NetaShop - Phân vùng giao diện Quản trị Admin 26
    1. Thiết kế bố cục (layouts) cho phân vùng giao diện Quản trị Admin (Backend) #12124
    2. Thiết kế giao diện trang tổng quan (Dashboard) cho phân vùng giao diện Quản trị Admin (Backend) #12127
    3. Thiết kế giao diện trang danh sách chuyên mục sản phẩm (Shop categories - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12130
    4. Thiết kế giao diện trang thêm mới chuyên mục sản phẩm (Shop categories - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12133
    5. Thiết kế giao diện trang cập nhật chuyên mục sản phẩm (Shop categories - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12137
    6. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa chuyên mục sản phẩm (Shop categories - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12134
    7. Thiết kế giao diện trang danh sách nhà cung cấp (Shop suppliers - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12142
    8. Thiết kế giao diện trang thêm mới nhà cung cấp (Shop suppliers - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12147
    9. Thiết kế giao diện trang cập nhật nhà cung cấp (Shop suppliers - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12148
    10. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa nhà cung cấp (Shop suppliers - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12149
    11. Thiết kế giao diện trang danh sách sản phẩm (Shop products - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12156
    12. Thiết kế giao diện trang thêm mới sản phẩm (Shop products - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12157
    13. Thiết kế giao diện trang cập nhật sản phẩm (Shop products - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12158
    14. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa sản phẩm (Shop products - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12159
    15. Thiết kế giao diện trang danh sách sản phẩm khuyến mãi, giảm giá (Shop product discounts - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12180
    16. Thiết kế giao diện trang thêm mới sản phẩm khuyến mãi, giảm giá (Shop product discounts - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12181
    17. Thiết kế giao diện trang cập nhật sản phẩm khuyến mãi, giảm giá (Shop product discounts - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12182
    18. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa sản phẩm khuyến mãi, giảm giá (Shop product discounts - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12183
    19. Thiết kế giao diện trang danh sách kho hàng (Shop stores - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12184
    20. Thiết kế giao diện trang thêm mới kho hàng (Shop stores - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12185
    21. Thiết kế giao diện trang cập nhật kho hàng (Shop stores - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12186
    22. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa kho hàng (Shop stores - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12187
    23. Thiết kế giao diện trang danh sách phiếu nhập kho (Shop imports - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12188
    24. Thiết kế giao diện trang thêm mới phiếu nhập kho (Shop imports - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12189
    25. Thiết kế giao diện trang cập nhật phiếu nhập kho (Shop imports - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12190
    26. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa phiếu nhập kho (Shop imports - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12191
Các bài học

Chương trình học

Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...

Chương trình học


  1. Bức tranh tổng thể về Lập trình WEB 1
    1. Sơ đồ vận hành của một Website Java Spring #12095
  2. Cài đặt, setup môi trường lập trình Java Spring 4
    1. Cài đặt Postman #12064
    2. Cài đặt tool Lombok #11611
    3. Cài đặt web server XAMPP #84
    4. Cài đặt công cụ truy vấn database HeidiSQL #1833
  3. Tiêu chuẩn lập trình WEB 8
    1. Chuẩn dữ liệu JSON #12067
    2. Tiêu chuẩn mã lỗi khi giao tiếp giữa Client và Server trên nền web - HTTP Status Code #12077
    3. Tiêu chuẩn RESTful API là gì? #12066
    4. Kiến trúc MVC là gì? #65
    5. Mô hình kiến trúc MVC vận hành trong Java Spring Framework #12108
    6. Mô hình kiến trúc 3 lớp (Three layers) vận hành trong Java Spring MVC Framework #12118
    7. Mô hình Kiến trúc 3 lớp (three layers) phân chia DTO thành REQUEST / RESPONSE theo từng ngữ cảnh vận hành trong Java Spring MVC Framework #12261
    8. Mô hình kiến trúc 3 lớp (three layers) có kiểm tra ràng buộc dữ liệu (validation) vận hành trong Java Spring MVC Framework #12240
  4. Tổng quan về framework Spring Java 2
    1. Giới thiệu về Spring #12065
    2. Tạo chương trình Java Spring đầu tiên - Hello World #12090
  5. Phân tích nghiệp vụ, phân rã danh sách chức năng và thiết kế database 2
    1. Thiết kế Cơ sở dữ liệu Bán hàng TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12053
    2. Phân rã danh sách chức năng Web app TMĐT có quản lý Kho hàng, Nhập xuất, Tồn kho, Phân quyền, Khuyến mãi, Tin tức #12058
  6. Video khóa học 1
    1. Playlist khóa học Java Spring Framework trên Youtube #12114
  7. Dự án thực tế mẫu - Trang web app bán hàng có quản lý kho hàng NetaShop - Phân vùng giao diện Quản trị Admin 26
    1. Thiết kế bố cục (layouts) cho phân vùng giao diện Quản trị Admin (Backend) #12124
    2. Thiết kế giao diện trang tổng quan (Dashboard) cho phân vùng giao diện Quản trị Admin (Backend) #12127
    3. Thiết kế giao diện trang danh sách chuyên mục sản phẩm (Shop categories - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12130
    4. Thiết kế giao diện trang thêm mới chuyên mục sản phẩm (Shop categories - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12133
    5. Thiết kế giao diện trang cập nhật chuyên mục sản phẩm (Shop categories - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12137
    6. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa chuyên mục sản phẩm (Shop categories - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12134
    7. Thiết kế giao diện trang danh sách nhà cung cấp (Shop suppliers - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12142
    8. Thiết kế giao diện trang thêm mới nhà cung cấp (Shop suppliers - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12147
    9. Thiết kế giao diện trang cập nhật nhà cung cấp (Shop suppliers - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12148
    10. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa nhà cung cấp (Shop suppliers - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12149
    11. Thiết kế giao diện trang danh sách sản phẩm (Shop products - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12156
    12. Thiết kế giao diện trang thêm mới sản phẩm (Shop products - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12157
    13. Thiết kế giao diện trang cập nhật sản phẩm (Shop products - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12158
    14. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa sản phẩm (Shop products - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12159
    15. Thiết kế giao diện trang danh sách sản phẩm khuyến mãi, giảm giá (Shop product discounts - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12180
    16. Thiết kế giao diện trang thêm mới sản phẩm khuyến mãi, giảm giá (Shop product discounts - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12181
    17. Thiết kế giao diện trang cập nhật sản phẩm khuyến mãi, giảm giá (Shop product discounts - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12182
    18. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa sản phẩm khuyến mãi, giảm giá (Shop product discounts - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12183
    19. Thiết kế giao diện trang danh sách kho hàng (Shop stores - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12184
    20. Thiết kế giao diện trang thêm mới kho hàng (Shop stores - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12185
    21. Thiết kế giao diện trang cập nhật kho hàng (Shop stores - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12186
    22. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa kho hàng (Shop stores - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12187
    23. Thiết kế giao diện trang danh sách phiếu nhập kho (Shop imports - INDEX) cho phân vùng giao diện Quản trị Admin (Backend) #12188
    24. Thiết kế giao diện trang thêm mới phiếu nhập kho (Shop imports - CREATE) cho phân vùng giao diện Quản trị Admin (Backend) #12189
    25. Thiết kế giao diện trang cập nhật phiếu nhập kho (Shop imports - EDIT) cho phân vùng giao diện Quản trị Admin (Backend) #12190
    26. Thiết kế giao diện trang hiển thị hộp thoại (dialog) cảnh báo xóa phiếu nhập kho (Shop imports - DELETE) cho phân vùng giao diện Quản trị Admin (Backend) #12191

Bài học trước Bài học tiếp theo