JSON (1) - Làm quen với JSON

1         JSON là gì?

Xem thêm clip sau:

https://www.youtube.com/watch?v=iiADhChRriM

JSON là viết tắt của JavaScript Object Notation, dịch nôm na là "sử dụng cú pháp/ký hiệu của đối tượng trong JavaScript để biểu diễn dữ liệu" ; là một định dạng dữ liệu đơn giản, dùng để trao đổi thông tin.

Vậy một đối tượng (object) trong JavaScript có cú pháp như thế nào? Cùng làm các ví dụ sau để tìm hiểu.

Để chạy các đoạn mã JavaScript minh họa dưới đây: tạo một tập tin html (ví dụ test.html), trong tập tin html tạo cặp thẻ <script>//đặt mã JavaScript ở đây</script>, mở tập tin test.html bằng trình duyệt, mở Developer Tools của trình duyệt, chọn tab Console để xem kết quả.

1.1       Đối tượng trong JavaScript

Trong JavaScript, để định nghĩa một đối tượng, sử dụng cặp dấu ngoặc nhọn {}

Ví dụ:

var obj = {};

Khác với các ngôn ngữ lập trình thông thường phải định nghĩa lớp (class) trước, sau đó mới tạo ra đối tượng từ lớp đã định nghĩa, JavaScript cho phép tạo ra đối tượng trực tiếp. Một đối tượng thường gồm các thuộc tính (attributes, hay properties) và các phương thức (method).

Bên trong dấu ngoặc nhọn là các thuộc tính và phương thức, với cú pháp:

var obj = {

        tenThuocTinh1: GiaTri1,

        tenThuocTinh2: GiaTri2,

        tenPhuongThuc: function() {

            noi dung cua phuong thuc

        }

    };

Có thể nhận thấy, nội dung của đối tượng bao gồm các cặp name:value (hay property:value, hay key:value). Ví dụ:

var sinhVien = {

    ten: 'Tèo', // ten là name; Tèo là value

    tuoi: 20,

    diem: 8,

    chao: function() {

        console.log('Chao anh Teo!');

    }

};

console.log(sinhVien.ten); // xuất một thuộc tính của đối tượng

sinhVien.chao(); // thực thi phương thức của đối tượng

1.2       Sử dụng cú pháp của đối tượng để biểu diễn dữ liệu

Người ta dựa vào ý tưởng của một đối tượng trong JavaScript, thay đổi một chút về cú pháp để biểu diễn dữ liệu. Đó chính là kiểu dữ liệu JSON.

JSON có một số đặc điểm sau:

– Bản thân JSON luôn ở dạng văn bản (text), là chuỗi, nên hay được gọi là chuỗi JSON

– Một đối tượng dữ liệu cần biểu diễn, được đặt trong cặp dấu ngoặc nhọn {}

– Không chứa phương thức (function)

– Dữ liệu được biểu diễn bằng các cặp name:value, trong đó name là tên của dữ liệu, value là giá trị của dữ liệu

– name phải được đặt trong cặp dấu nháy kép (“”), lưu ý không được dùng cặp dấu nháy đơn (‘’)

– value có kiểu là string được đặt trong cặp dấu nháy kép (“”)

– Giữa name và value phải có dấu hai chấm (:)

– Sau mỗi cặp name:value có dấu chấm phẩy (,), trừ cặp name:value sau cùng

– Các kiểu dữ liệu JSON có thể biểu diễn (chứa), hay cụ thể hơn là giá trị của value, gồm: string, number, boolean, null, array và object

– Tập tin chứa dữ liệu JSON có phần mở rộng là .json

– Mảng được đặt trong cặp dấu ngoặc vuông []

Ví dụ, muốn biểu diễn dữ liệu là thông tin của một sinh viên dưới dạng JSON thì tạo một biến kiểu JSON (đặt tên là sinhVienJSON) như sau:

var sinhVienJSON = '{ "ten": "Tèo", "tuoi": 20, "diem": 8 }';

    console.log(sinhVienJSON);

Nếu để thông tin sinh viên trong tập tin thì sẽ có dạng như sau:

[data.json]

{ 

    "ten": "Tèo",

    "tuoi": 20,

    "diem": 8

}

Dữ liệu JSON chứa giá trị null, mảng và đối tượng:

var sinhVienJSON = '{ "ten": "Tèo", "tuoi": 20, "diem": 8, "monHoc": [ "Toan", "tiengAnh", "lapTrinh"], "totNghiep": null, "lienLac": { "email": "teo@gmail.com", "phone": "0999.987.123" } }';

    console.log(sinhVienJSON);

[data.json]

{ 

    "ten": "Tèo", 

    "tuoi": 20, 

    "diem": 8, 

    "monHoc": [ "Toan", "tiengAnh", "lapTrinh"], 

    "totNghiep": null, 

    "lienLac": 

        { 

            "email": "teo@gmail.com", 

            "phone": "0999.987.123" 

        } 

}

1.3       JSON được dùng ở đâu?

Do JSON có định dạng đơn giản, nên con người có thể dễ dàng thao tác, làm việc với nó; các loại máy tính cũng dễ dàng tạo ra và phân tích được kiểu dữ liệu này.

JSON chính là một phần trong đặc tả ngôn ngữ JavaScript, cụ thể là trong bộ tiêu chuẩn ECMA-262, phiên bản 3, năm 1999.

JSON biểu diễn dữ liệu dưới dạng dạng văn bản (text), hoàn toàn độc lập với ngôn ngữ lập trình, nghĩa là rất nhiều ngôn ngữ lập trình có thể hiểu và làm việc được với nó. Đây chính là lý do JSON được sử dụng để trao đổi thông tin giữa các hệ thống với nhau. Ví dụ trong web là trao đổi thông tin/dữ liệu giữa web client và web server.

Hầu hết các ngôn ngữ lập trình hiện nay đều hỗ trợ kiểu dữ liệu JSON.

Kiểu dữ liệu JSON hay được sử dụng trong kĩ thuật AJAX, trong các tập tin cấu hình.

Web services và web APIs thường trả về dữ liệu chia sẻ dưới dạng JSON.

MIME Media Type của JSON là application/json.

1.4       JSON trong JavaScript

Ví dụ 1: Cho thông tin của một sinh viên dạng JSON, hãy tính điểm trung bình (diemTB) của sinh viên. Nếu điểm trung bình >=5, cập nhật trường dữ liệu totNghiep thành true, ngược lại, nếu điểm trung bình < 5, cập nhật trường dữ liệu totNghiep thành false. Ghi lại cập nhật này vào dữ liệu sinhVienJSON.

var sinhVienJSON = '{ "ten": "Tèo", "tuoi": 20, "Toan": 7, "tiengAnh": 8, "lapTrinh": 9, "diemTB": null, "totNghiep": null, "lienLac": { "email": "teo@gmail.com", "phone": "0999.987.123" } }';

Trước khi tính điểm trung bình, cần chuyển dữ liệu từ kiểu JSON (sinhVienJSON) sang kiểu object (sinhVienObj), sử dụng hàm parse của JSON.

var sinhVienObj = JSON.parse(sinhVienJSON);

    var diemTrungBinh = (sinhVienObj.Toan +  sinhVienObj.tiengAnh + sinhVienObj.lapTrinh)/3;

    console.log(diemTrungBinh);

Cập nhật trường diemTB, totNghiep trong đối tượng sinhVienObj:

// cập nhật điểm trung bình và tốt nghiệp vào sinhVienObj

    sinhVienObj.diemTB = diemTrungBinh;

    if (diemTrungBinh >= 5{

        sinhVienObj.totNghiep = true;

    } else {

        sinhVienObj.totNghiep = false;

    }

    console.log(sinhVienObj);

Đổi dữ liệu từ kiểu objec sang kiểu JSON bằng hàm stringify():

// chuyển  sang dữ liệu kiểu JSON bằng hàm stringify()

    // chuyển sinhVienObj sang sinhVienJSON

    sinhVienJSON = JSON.stringify(sinhVienObj);

    console.log(sinhVienJSON);

----

Cập nhật [29/10/2020]

-----

Bài kế tiếp: JSON (2) - JSON và AJAX


MySQL (1) - Tổng quan_Cài đặt_phpMyAdmin

 

1         MySQL

1.1       Tổng quan

Là một hệ quản trị cơ sở dữ liệu (từ đây gọi tắt là DBMS-database management system) quan hệ mã nguồn mở. Hiện nay, Oracle đang sở hữu MySQL. Dựa trên MySQL người ta tạo ra MariaDB. MariaDB được khuyến cáo sử dụng cho các dự án thực tế.

Một số hệ thống đang sử dụng MySQL: Drupal, Joomla, Wordpress, phpBB, Facebook, Youtube, Twitter.

Phiên bản đầu tiên được công bố 1995. Phiên bản mới nhất hiện nay là 8.0, công bố năm 2018.

Một số phiên bản của MySQL: 5.1; 5,5; 5.6; 5.7; 8.0

Để làm việc với MySQL có thể sử dụng các công cụ (hình thức) sau:

– Giao diện đồ họa (GUI)

– Giao diện dòng lệnh (command line)

– Giao diện lập trình ứng dụng API (application programming interface)

1.2       Cài đặt và làm việc với MySQL

Để làm việc với một DBMS bất kì, luôn cần ba thứ:

– Một là thành phần cốt lõi của một DBMS thường gọi là Database Engine, thành phần này thực hiện việc lưu trữ, xử lý và bảo mật dữ liệu.

– Hai là công cụ giúp người sử dụng có thể giao tiếp/làm việc được với Database Engine.

– Ba là cơ sở dữ liệu

MySQL

Với DBMS MySQL thì Database Engine chính là MySQL. Để tải bản cài đặt MySQL, vào đây: https://dev.mysql.com/downloads/

Làm việc với MySQL

Để giao tiếp/làm việc với MySQL có 3 cách:

– Dùng giao diện đồ họa (GUI)

– Dùng giao diện dòng lệnh

– Dùng API (để lập trình với MySQL)

Làm việc với MySQL bằng giao diện đồ họa

Để làm việc với MySQL bằng giao diện đồ họa, có thể sử dụng một trong các công cụ sau:

– Adminer, Database Workbench, Dbeaver,

– DBEdit, HeidiSQL, TablePlus, LibreOffice Base,

– Navicat, OpenOffice.org Base, phpMyAdmin, SQLBuddy,

– SQLyog, Toad for MySQL, Webmin

Làm việc với MySQL bằng giao diện dòng lệnh

Để làm việc với MySQL bằng giao diện dòng lệnh, có thể sử dụng một trong các công cụ sau:

– MySQL shell

– Command line client

– Windows cmd

– Putty

Làm việc với MySQL bằng API

Trong PHP, có ba thư viện (API) để làm việc với MySQL gồm:

– mysql: không còn được sử dụng

– mysqli chỉ làm việc được với MySQL

– PDO: ngoài làm việc với MySQL, nó còn hỗ trợ các hệ quản trị cơ sở dữ liệu khác.

Kinh nghiệm hay

Để đơn giản, trong thực tế người ta hay cài gói XAMPP là sẽ có MySQL, phpMyAdmin và nhiều thành phần khác (Apache, Filezilla, TomCat, Mercury). Trong khi nếu cài đặt MySQL, chỉ mới có thành phần Data Engine, để làm việc được thì phải cài thêm nhiều thành phần khác.

Lab 13. Tải và cài đặt XAMPP

– Vì trong gói XAMPP có chứa MySQL, nên thực hiện cài đặt gói XAMPP.

– Đọc thêm về XAMPP ở đây: https://legiacong.blogspot.com/2016/10/ngu-ngo-hoc-lam-web-46-cai-at-va-su.html

– Đọc hướng dẫn cài đặt XAMPP tại đây: http://legiacong.blogspot.com/2019/01/lam-web-01-hosting.html > vào mục: 2.2 Dựng web server trên máy cục bộ > làm Yêu cầu 2. Cài đặt XAMPP ở chế độ mặc định vào ổ đĩa C:\.

– Sau khi cài đặt thành công, để chạy XAMPP, vào C:\\xampp > bấm chuột phải vào tập tin xampp-control.exe > chọn Run as Administrator. Hoặc bấm phím cửa sổ (Window) trên bàn phím > gõ XAMPP > chọn Run as Administrator > cửa sổ XAMPP xuất hiện > Tại hàng MySQL > bấm nút Start. Nếu chạy thành công sẽ xuất hiện PID và Port của MySQL.

– Để quản trị MySQL trên máy cục bộ, có thể sử dụng giao diện web có tên phpmyadmin. Vì là giao diện web, nên phải khởi chạy Apache. Tại hàng Apache, bấm nút Start. Thường Apache hay bị trùng cổng (80 và 443) với một số dịch vụ khác, dẫn tới bị lỗi không chạy được. Đọc thêm phần hướng dẫn sửa lỗi ở đây: https://legiacong.blogspot.com/2019/01/lam-web-01-hosting.html

– Nếu thấy phần hướng dẫn sửa lỗi Apache có vẻ dài, cách sửa nhanh là có thể tắt một số chương trình phổ biến hay sử dụng hai cổng 80 và/hoặc 443 sau: (tắt bằng Task Manager hoặc vào Run gõ services.msc). Tìm và tắt các chương trình sau:

+ World Wide Web Publishing Service (WWW-Publishing Service)

+ Web Deployment Agent Service

+ Skype

+ SQL Server Reporting Service(MSSQLSERVER)

+ VMware Workstation

+ IIS

– Sau khi chạy được Apache, > mở cửa sổ trình duyệt > nhập vào đường dẫn sau: http://localhost/phpmyadmin/ > thấy giao diện của phpmyadmin là được.

1.3       Làm việc với phpMyAdmin

Sau khi cài đặt và chạy được chương trình XAMPP, lúc này trên máy tính đã có Database engine là MySQL, đã có giao diện đồ họa để làm việc với Database engine là phpMyAdmin. Phần này sẽ học cách để dùng phpMyAdmin tạo và thao tác với cơ sở dữ liệu.

phpMyAdmin

phpMyAdmin là một công cụ nguồn mở miến phí được viết bằng PHP, được dùng để làm việc với MySQL bằng giao diện web.

phpMyAdmin cung cấp một số tính năng sau:

– Làm việc bằng giao diện web

– Quản lý cơ sở dữ liệu MySQL và MariaDB

–  Nhập dữ liệu từ CSV và SQL

– Xuất dữ liệu ra các định dạng: CSV, SQL, XML, PDF

– Quản lý nhiều máy chủ

– Làm việc trên nhiều hệ điều hành khác nhau

Lab 14. Thực hành các nội dung

– Tạo database

– Tạo table

– Import/Export dữ liệu

http://legiacong.blogspot.com/2016/12/ngu-ngo-hoc-lam-web-79-co-ban-ve-mysql-1.html

1.4       Đọc và tìm hiểu thêm

 MySQL InnoDB Cluster

– Group replication

– MySQL router

– MySQL shell

MySQL trên hệ thống cloud

-----------
Cập nhật [19/10/2020]
-----------

Xem thêm:

MySQL (2) -