JSON là một định dạng dữ liệu phổ biến được sử dụng để trao đổi dữ liệu giữa các ứng dụng.
Sử dụng JSON.stringify() để chuyển đổi đối tượng JavaScript thành chuỗi JSON
Ví dụ 1: Đối tượng obj
const obj = {name: "John", age: 30, city: "New York"};
Chuyển đổi obj
thành chuỗi JSON
const myJSON = JSON.stringify(obj);
Kết quả:
'{"name":"John","age":30,"city":"New York"}'
- Giải thích:
myJSON
là chuỗi JSON hợp lệ.- Nó có thể được gửi đến máy chủ web.
Sử dụng JSON.stringify() để chuyển đổi mảng JavaScript thành chuỗi JSON
Ví dụ 2: Mảng arr
const arr = ["John", "Peter", "Sally", "Jane"];
Chuyển đổi arr
thành chuỗi JSON
const myJSON = JSON.stringify(arr);
Kết quả:
'["John","Peter","Sally","Jane"]'
- Giải thích:
myJSON
là chuỗi JSON hợp lệ.- Nó có thể được gửi đến máy chủ web.
Lưu trữ dữ liệu với JSON
- Dữ liệu được lưu trữ thường ở dạng văn bản.
- JSON cho phép lưu trữ các đối tượng JavaScript dưới dạng văn bản.
Ví dụ 3: Lưu trữ dữ liệu trong localStorage
Lưu trữ dữ liệu:
const myObj = {name: "John", age: 31, city: "New York"};
const myJSON = JSON.stringify(myObj);
localStorage.setItem("testJSON", myJSON);
Lấy dữ liệu:
let text = localStorage.getItem("testJSON");
let obj = JSON.parse(text);
document.getElementById("demo").innerHTML = obj.name;
- Giải thích:
myObj
được lưu trữ trong localStorage dưới dạng chuỗi JSON.obj
là đối tượng JavaScript được tạo từ chuỗi JSON.
Ngoại lệ:
- Chuyển đổi ngày tháng:
- JSON không hỗ trợ đối tượng ngày tháng.
- Khi sử dụng
JSON.stringify()
, ngày tháng sẽ được chuyển thành chuỗi.
- Chuyển đổi hàm:
- JSON không hỗ trợ hàm làm giá trị của đối tượng.
- Khi sử dụng
JSON.stringify()
, hàm sẽ bị loại bỏ.
Lưu ý:
Bạn có thể chuyển hàm thành chuỗi trước khi sử dụng JSON.stringify()
.
Như vậy:
JSON.stringify()
là một hàm JavaScript để chuyển đổi dữ liệu thành chuỗi JSON.- Nó được sử dụng để trao đổi dữ liệu giữa các ứng dụng và lưu trữ dữ liệu.
- Bạn cần lưu ý đến các ngoại lệ khi sử dụng
JSON.stringify()
.
body: JSON.stringify(requestData) là một đoạn code JavaScript thường được sử dụng trong các giao tiếp web để chuẩn bị dữ liệu gửi đến máy chủ.
Giải thích từng phần:
- body: là một thuộc tính HTTP thường được sử dụng để chứa nội dung của một yêu cầu (request) gửi đến máy chủ.
- JSON.stringify(requestData): là một biểu thức JavaScript dùng để chuyển đổi một đối tượng JavaScript (requestData) thành chuỗi định dạng JSON.
Do đó, đoạn code này có thể được hiểu như sau:
- requestData: là một biến JavaScript lưu trữ một đối tượng chứa dữ liệu cần gửi đến máy chủ.
- JSON.stringify(requestData): chuyển đổi đối tượng requestData thành một chuỗi định dạng JSON.
- body: gán giá trị của chuỗi JSON vừa tạo cho thuộc tính body của yêu cầu HTTP.
Ví dụ:
const requestData = {
name: "John Doe",
email: "johndoe@example.com",
message: "This is a test message."
};
const body = JSON.stringify(requestData);
// Gửi yêu cầu đến máy chủ
fetch('https://example.com/api/submit', {
method: 'POST',
body: body,
headers: {
'Content-Type': 'application/json'
}
}).then(response => {
console.log('Response received:', response);
});
Trong ví dụ này:
requestData
là một đối tượng chứa dữ liệu về tên, email và tin nhắn.JSON.stringify(requestData)
chuyển đổirequestData
thành chuỗi'{"name":"John Doe","email":"johndoe@example.com","message":"This is a test message."}'
.body
gán chuỗi JSON này cho thuộc tínhbody
của yêu cầu HTTP.- Cuối cùng, yêu cầu được gửi đến máy chủ thông qua hàm
fetch
.
Tóm lại:
body: JSON.stringify(requestData) là một cách phổ biến để chuẩn bị dữ liệu gửi đến máy chủ trong các ứng dụng web. Nó giúp cho việc gửi và nhận dữ liệu trở nên dễ dàng và chuẩn xác hơn.