JSON.stringify()

Ứng dụng thông thường của JSON là để trao đổi dữ liệu với máy chủ web.

Khi gửi dữ liệu đến máy chủ web, dữ liệu phải là chuỗi.

Bằng cách JSON.stringify() Chuyển đổi đối tượng JavaScript thành chuỗi.

Chuỗi hóa đối tượng JavaScript

Hãy tưởng tượng rằng trong JavaScript của chúng ta có đối tượng này:

var obj = { name:"Bill Gates", age:62, city:"Seattle"};

Hãy sử dụng hàm JavaScript JSON.stringify() Chuyển đổi nó thành chuỗi.

var myJSON = JSON.stringify(obj);

Kết quả sẽ là một chuỗi tuân thủ các ký hiệu JSON.

myJSON hiện tại là một chuỗi và đã sẵn sàng gửi đến máy chủ:

Mô hình

var obj = { name:"Bill Gates", age:62, city:"Seattle"};
var myJSON =  JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Thử ngay

Bạn sẽ học cách gửi JSON đến máy chủ trong chương tiếp theo.

Chuỗi hóa mảng JavaScript

Cũng có thể chuỗi hóa mảng JavaScript:

Hãy tưởng tượng rằng trong JavaScript của chúng ta có mảng này:

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];

Hãy sử dụng hàm JavaScript JSON.stringify() Chuyển đổi nó thành chuỗi.

var myJSON = JSON.stringify(arr);

Kết quả sẽ là chuỗi tuân thủ các ký hiệu JSON.

myJSON hiện tại là một chuỗi và đã sẵn sàng gửi đến máy chủ:

Mô hình

var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];
var myJSON =  JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

Thử ngay

Bạn sẽ học cách gửi JSON đến máy chủ trong chương tiếp theo.

Trừ ngoại lệ

Chuỗi hóa ngày tháng

Trong JSON, không cho phép đối tượng ngày tháng.JSON.stringify() Hàm sẽ chuyển đổi bất kỳ ngày tháng nào thành chuỗi.

Mô hình

var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Thử ngay

Bạn có thể chuyển chuỗi thành đối tượng ngày tháng tại đầu nhận.

Chuỗi hóa hàm

Trong JSON, không cho phép hàm là giá trị đối tượng.

JSON.stringify() Hàm sẽ xóa bỏ tất cả các hàm từ đối tượng JavaScript, bao gồm khóa và giá trị:

Mô hình

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Thử ngay

Nếu bạn chạy JSON.stringify() Hàm đã được chuyển đổi thành chuỗi trước khi hàm, bước này có thể bỏ qua.

Mô hình

var obj =  { "name":"Bill Gates", "age":function () {return 62;}, "city":"Seattle"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Thử ngay

Bạn nên tránh sử dụng hàm trong JSON, hàm sẽ mất đi ngữ cảnh và bạn cũng cần sử dụng eval() Chuyển đổi chúng trở lại hàm.

Hỗ trợ trình duyệt

Tất cả các trình duyệt phổ biến và tiêu chuẩn ECMAScript (JavaScript) mới nhất đều bao gồm JSON.stringify() Hàm:

Số trong bảng dưới đây chỉ định sự hỗ trợ hoàn toàn JSON.stringify() Phiên bản trình duyệt đầu tiên của hàm:

8.0 3.5 4.0 10.0