Chuỗi hóa các objects Javascript
Chuỗi hóa Object là quá trình chuyển đổi một trạng thái object thành một string từ đó nó có thể được phục hồi sau
này. Các hàm JSON.stringify() và JSON.parse() chuỗi hóa và phục hồi các objects Javascript. Các hàm này sử dụng
dạng trao đổi dữ liệu JSON. JSON có nghĩa cho “JavaScript Object Notation,” và cú pháp của nó rất giống với cái
của Javascript literals object và mảng:
let o = {x: 1, y: {z: [false, null, “”]}}; // Define a test object
let s = JSON.stringify(o); // s == ‘{“x”:1,”y”:{“z”:[false,null,””]}}’
let p = JSON.parse(s); // p == {x: 1, y: {z: [false, null, “”]}}
Cú pháp JSON là tập phụ của cú pháp Javascript, và nó không thể trình bày tất cả các giá trị Javascript. Các
objects, mảng, strings, các số vô hạn, true, false và null được hỗ trợ và có thể được chuỗi hóa và phục hồi.
NaN, Infinity, và -Infinity được chuỗi hóa thành null. Các date objects được chuỗi hóa thành các date strings
định dạng ISO (xem hàm Date.toJSON()), nhưng JSON.parse() để lại những cái này trong dạng string và không
phục hồi Date object gốc. Các object hàm, RegExp và lỗi và giá trị undefined không thể được chuỗi hóa hay phục
hồi. JSON.stringify() chuỗi hóa chỉ các đặc tính bản thân lặp qua được của một object. Nếu một giá trị đặc tính
không thể được chuỗi hóa, đặc tính đó đơn giản bị bỏ qua từ đầu ra chuỗi kí tự hóa. Cả JSON.stringify()
và JSON.parse() chấp nhận các đối số thứ hai tùy chọn cái có thể được sử dụng để phù hợp hóa theo yêu cầu quá trình
chuỗi hóa và/hay phục hồi bằng cách chỉ ra một danh sách các đặc tính sẽ được chuỗi hóa, ví dụ, hay bằng cách
chuyển đổi các giá trị nhất định suốt quá trình chuỗi hóa hay chuỗi kí tự hóa. Tài liệu hướng dẫn đầy đủ cho các
hàm này là ở trong các học phần sau.