Cách sử dụng phổ biến của JSON là trao đổi dữ liệu đến / từ máy chủ web.
Khi gửi dữ liệu đến máy chủ web, dữ liệu phải là một chuỗi.
Chuyển đổi một đối tượng JavaScript thành một chuỗi với JSON.stringify()
.
Xâu chuỗi một đối tượng JavaScript
Hãy tưởng tượng chúng ta có đối tượng này trong JavaScript:
const obj = {name: "John", age: 30, city: "New York"};
Sử dụng hàm JavaScript JSON.stringify()
để chuyển nó thành một chuỗi.const myJSON = JSON.stringify(obj);
Kết quả sẽ là một chuỗi theo sau ký hiệu JSON.
myJSON
bây giờ là một chuỗi và sẵn sàng được gửi đến một máy chủ:
Thí dụ
const obj = {name: "John", age: 30, city: "New York"};
const myJSON = JSON.stringify(obj);
Bạn sẽ học cách gửi JSON đến máy chủ trong các chương tiếp theo.
Xâu chuỗi một mảng JavaScript
Cũng có thể xâu chuỗi các mảng JavaScript:
Hãy tưởng tượng chúng ta có mảng này trong JavaScript:const arr = [“John”, “Peter”, “Sally”, “Jane”];
Sử dụng hàm JavaScript JSON.stringify()
để chuyển nó thành một chuỗi.const myJSON = JSON.stringify(arr);
Kết quả sẽ là một chuỗi theo sau ký hiệu JSON.
myJSON
bây giờ là một chuỗi và sẵn sàng được gửi đến một máy chủ:
Thí dụ
const arr = ["John", "Peter", "Sally", "Jane"];
const myJSON = JSON.stringify(arr);
Bạn sẽ học cách gửi một chuỗi JSON đến một máy chủ trong các chương tiếp theo.
Lưu trữ dữ liệu
Khi lưu trữ dữ liệu, dữ liệu phải ở một định dạng nhất định và bất kể bạn chọn lưu trữ ở đâu, văn bản luôn là một trong những định dạng hợp pháp.
JSON làm cho nó có thể lưu trữ các đối tượng JavaScript dưới dạng văn bản.
Thí dụ
Lưu trữ dữ liệu trong bộ nhớ cục bộ// Storing data:
const myObj = {name: "John", age: 31, city: "New York"};
const myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);// Retrieving data:
let text = localStorage.getItem("testJSON");
let obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
Ngoại lệ
Chuỗi ngày
Trong JSON, các đối tượng ngày tháng không được phép. Các JSON.stringify()
chức năng sẽ chuyển đổi bất kỳ ngày thành chuỗi.
Thí dụ
const obj = {name: "John", today: new Date(), city : "New York"};
const myJSON = JSON.stringify(obj);
Bạn có thể chuyển đổi chuỗi trở lại thành một đối tượng ngày tháng tại bộ nhận.
Chuỗi các chức năng
Trong JSON, các hàm không được phép làm giá trị đối tượng.
Các JSON.stringify()
chức năng sẽ loại bỏ bất kỳ chức năng từ một đối tượng JavaScript, cả chìa khóa và giá trị:
Thí dụ
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
const myJSON = JSON.stringify(obj);
Điều này có thể được bỏ qua nếu bạn chuyển đổi các hàm của mình thành chuỗi trước khi chạy JSON.stringify()
hàm.
Thí dụ
const obj = {name: "John", age: function () {return 30;}, city: "New York"};
obj.age = obj.age.toString();
const myJSON = JSON.stringify(obj);
Nếu bạn gửi các hàm bằng JSON, các hàm sẽ mất phạm vi của chúng và người nhận sẽ phải sử dụng eval () để chuyển đổi chúng trở lại thành các hàm.