JSON.stringify()
- Trang trước Giải thích JSON
- Trang tiếp theo Đối tượng JSON
Ứ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;
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;
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;
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;
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;
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:
Có | 8.0 | 3.5 | 4.0 | 10.0 |
- Trang trước Giải thích JSON
- Trang tiếp theo Đối tượng JSON