03/08/2018, 10:15

Bài 11: Xử lý JSON trong NodeJS

Ở các Web Service thì thông thường các API sẽ trả kết quả về định dạng XML ...

Ở các Web Service thì thông thường các API sẽ trả kết quả về định dạng XML hoặc là JSON, tuy nhiên hiện nay các lập trình viên vẫn thích sử dụng JSON hơn bởi cách khai báo và cách sử dụng đơn giản hơn XML nhiều, vì vậy trong bài này chúng ta tìm hiểu về cách xử lý JSON trong NodeJS để các video tiếp theo chúng ta sẽ học cách trả kết quả về cho client.

1. Hiểu cấu trúc của chuỗi JSON

Về khái niệm JSON thì mình có trình bày trong series JSON căn bản rồi, vì vậy nếu bạn nào chưa hiểu khái niệm JSON thì quay lại series đó đoc qua trước nhé.

Tuy nhiên mình cũng xin đưa ra ví dụ về cấu trúc chuỗi JSON đó là nội dung của file package.json.

{
    "name": "nodejs-freetuts",
    "version": "1.0.0",
    "description": "NodeJS Free Course",
    "main": "index.js",
    "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
    },
    "author": "ThehalfHeart",
    "license": "ISC",
    "dependencies": {
        "node-persist": "0.0.8"
    }
}

Đây chính là cấu trúc của chuỗi JSON.

  • Giá trị của key và value sẽ được bao bọc bởi cặp dấu nháy đôi "key", điều này là bắt buộc.
  • Giá trị mỗi key có thể là một chuỗi, một số hoặc là một chuỗi JSON khác nữa.

2. Hiểu đối tượng JSON

Việc lấy thông tin từ một chuỗi JSON là rất khó, vì vậy thay vì truy xuất từ chuỗi thì chúng ta sẽ chuyển đổi chuỗi đó sang định dạng của một Object trong Javascript, lúc này để gọi đến các key thì chúng ta chỉ việc sử dụng dấu chấm là được. Như cấu trúc JSON của file package.json trên thì chúng ta truy xuất như sau:

obj_json.name; // lấy key name
obj_json.version; // lấy key version
obj_json.description; // lấy key description

Vấn đề bây giờ là làm thế nào để chuyển từ một chuỗi JSON sang một đối tượng Object trong Javascript? Để làm được điều này thì chúng ta qua phần tiếp theo nhé.

3. Xử lý chuỗi JSON bằng Javascript

Ok bây giờ ta học hai thao tác chính đó là chuyển chuỗi JSON sang Object và chuyển Object sang ngược lại JSON.

Đầu tiên bạn tạo một file json-demo.js để chúng ta thực hành nhé.

Chuyển JSON sang Object

Để chuyển chuỗi JSON sang Object thì chúng ta sử dụng hàm JSON.parse(json_string). Lưu ý là cấu trúc chuỗi JSON phải đúng nguyên tắc thì nó mới chuyển đổi được.

Ví dụ: Cho chuỗi JSON sinhvien, hãy chuyển đổi nó sang một object.

var student_string = '{"name" : "Nguyen Van Cuong", "age" : "26"}';

var student_obj = JSON.parse(student_string);

console.log("Name: " + student_obj.name);
console.log("Age: " + student_obj.age);

Chạy file này lên với lệnh node json-demo.js bạn sẽ thấy giao diện như sau:

Chuyển Object sang JSON

Để chuyển đối một Object sang chuỗi JSON thì ta sử dụng hàm JSON.stringify(json_object).

Ví dụ: Chuyển đối tượng sinh viên sang chuỗi JSON 

var student_string = '{"name" : "Nguyen Van Cuong", "age" : "26"}';

var student_obj = JSON.parse(student_string);

console.log('--OBJECT--');
console.log("Name: " + student_obj.name);
console.log("Age: " + student_obj.age);

console.log('--STRING--');
console.log(JSON.stringify(student_obj));

Chạy lại file này bạn sẽ thấy kết quả như sau:

4. Lưu trữ chuỗi JSON vào file

Thông thường sau khi chuyển đổi object sang JSON thì chúng ta sẽ lưu trữ nó vào file.

Cho đối tượng sinh viên, hãy chuyển nó sang chuỗi JSON và lưu vào file. Sau khi lưu vào file hãy đọc lại file và in nội dung chuỗi JSON lên màn hình.

var student_obj = {
    name : "Nguyen Van Cuong",
    age : "26"
};

var student_string = JSON.stringify(student_obj);

// Lưu file
var persist = require('node-persist');
persist.initSync();
persist.setItemSync('student', student_string);

// Đọc file
var content_from_file = persist.getItemSync('student');
console.log(content_from_file);

Kết quả sau khi chạy:

5. Lời kết

Như vậy là mình đã giới thiệu xong hai hàm dùng để chuyển đổi chuỗi JSON sang OBJECT và từ OBJECT sang JSON, hai hàm này được sử dụng khá nhiều khi làm việc với NodeJS bởi vì thông thường chúng ta sử dụng NodeJS để xây dựng Web Service.

Bài này mình dừng ở đây, bài tiếp theo chúng ta tìm hiểu về Encrypting string (mã hóa).

-------------------#####-------------------

DOWNLOAD TÀI LIỆU NODEJS

BÀI KẾ SAU
BÀI KẾ TIẾP

Nguồn: code24h.com

Bài liên quan

[BÀI 11] XỬ LÝ FORM TRONG PHP

Tổng quan Một trong những ứng dụng quan trong của PHP đó là giúp tương tác xử lý dữ liệu trên form của người sử dụng. Nhằm mục đích giúp cập nhật thông tin một cách linh động và dễ dàng quản lý chúng hơn bởi sự kết hợp tuyệt vời của cơ sở dữ liệu. Tuy nhiên để làm được điều ấy PHP yêu cầu form ...

Hoàng Hải Đăng viết 17:01 ngày 04/10/2018

Bài 4: Xử lý giá trị form trong PHP

Bài 4: Xử lý giá trị form trong PHP Một trong những ứng dụng quan trọng của PHP đó là giúp tương tác xử lý dữ liệu trên form của người sử dụng. Nhằm mục đích giúp cập nhật thông tin một cách linh động và dễ dàng quản lý chung hơn bởi sự kết hợp tuyệt vời của cơ sở dữ liệu. ...

Vũ Văn Thanh viết 15:14 ngày 19/09/2018

Xử lý JSON trong NodeJS

Ở các Web Service thì thông thường các API sẽ trả kết quả về định dạng XML hoặc là JSON, tuy nhiên hiện nay các lập trình viên vẫn thích sử dụng JSON hơn bởi cách khai báo và cách sử dụng đơn giản hơn XML nhiều, vì vậy trong bài này chúng ta tìm hiểu về cách xử lý JSON trong NodeJS để các video ...

Hoàng Hải Đăng viết 15:49 ngày 12/08/2018

Bài 02: Xử lý JSON trong PHP - Các ví dụ về JSON PHP và MYSQL

Bài trước chúng ta đã tìm hiểu được khái niệm JSON là gì rồi và cũng biết được cấu trúc chuỗi JSON như thế nào, vậy thì trong bài này chúng ta sẽ ...

Bùi Văn Nam viết 10:15 ngày 03/08/2018

Bài 11: Xử lý JSON trong NodeJS

Ở các Web Service thì thông thường các API sẽ trả kết quả về định dạng XML ...

Trịnh Tiến Mạnh viết 10:15 ngày 03/08/2018
0