07/09/2018, 15:26

Tìm hiểu hàm JSON.stringify() trong JSON

Một ứng dụng phổ biến của JSON là trao đổi dữ liệu đến / từ một máy chủ web. Khi gửi dữ liệu đến một 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(). Chuyển đổi một đối tượng JavaScript Giả sử ...

Một ứng dụng phổ biến của JSON là trao đổi dữ liệu đến / từ một máy chủ web. Khi gửi dữ liệu đến một 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().

Chuyển đổi một đối tượng JavaScript

Giả sử chúng ta có đối tượng này trong JavaScript:

var obj = { "name":"John", "age":30, "city":"New York"};

Sử dụng hàm JavaScript JSON.stringify() để chuyển đổi nó thành một chuỗi.

var myJSON = JSON.stringify(obj);

Kết quả sẽ là một chuỗi 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ủ:

var obj = { "name":"John", "age":30, "city":"New York"};
var myJSON = JSON.stringify(obj);
document.getElementById("demo").innerHTML = myJSON;

Chuyển đổi một mảng JavaScript

Điều này cũng có thể làm rắc rối các mảng JavaScript. Giả dụ chúng ta có mảng này trong JavaScript:

var arr = [ "John", "Peter", "Sally", "Jane" ];

Sử dụng hàm JavaScript JSON.stringify () để chuyển đổi nó thành một chuỗi.

var myJSON = JSON.stringify(arr);

Kết quả sẽ là một chuỗi 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ủ:

var arr = [ "John", "Peter", "Sally", "Jane" ];
var myJSON = JSON.stringify(arr);
document.getElementById("demo").innerHTML = myJSON;

Một số ví dụ ngoại lệ

Chuyển đổi ngày tháng

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

var obj = { "name":"John", "today":new Date(), "city":"New York"};
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

Bạn có thể chuyển đổi chuỗi trở lại thành một đối tượng ngày.

Hàm Stringify

Trong JSON, các hàm không được phép làm giá trị đối tượng. Hàm JSON.stringify() sẽ loại bỏ bất kỳ hàm nào từ một đối tượng JavaScript, cả khóa và giá trị:

var obj = { "name":"John", "age":function () {return 30;}, "city":"New York"};
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

Điều này có thể được bỏ qua nếu bạn chuyển đổi các hàm của bạn thành các chuỗi trước khi chạy hàm JSON.stringify().

var obj = { "name":"John", "age":function () {return 30;}, "city":"New York"};
obj.age = obj.age.toString();
var myJSON = JSON.stringify(obj);

document.getElementById("demo").innerHTML = myJSON;

Bạn nên tránh sử dụng các hàm trong JSON, các hàm sẽ bị mất phạm vi của chúng, và bạn sẽ phải sử dụng eval() để chuyển chúng trở lại các hàm.

Trình duyệt hỗ trợ

Hàm JSON.stringify() được tích hợp trong tất cả các trình duyệt phổ biến và theo tiêu chuẩn ECMAScript (JavaScript) mới nhất:

  • Firefox 3.5
  • Internet Explorer 8
  • Chrome
  • Opera 10
  • Safari 4
Tham khảo thêm các khóa học lập trình web từ Front-end đến Back-end do trực tiếp giảng viên quốc tế trường FPT Arena giảng dạy giúp bạn thành thạo kỹ năng lập trình web từ CƠ BẢN – NÂNG CAO với giá chỉ từ 290,000đ:
  • Học lập trình front-end cơ bản với bootstrap 4/html5/css3
  • Học lập trình front-end nâng cao qua Project thực tế
  • Học thiết kế web với Photoshop, CSS theo kiểu SASS
  • Học cách sử dụng Git_hub cho lập trình viên
  • Học lập trình Back-end PHP theo mô hình MVC cơ bản
  • Học lập trình Back-end PHP theo mô hình MVC nâng cao
  • Học lập trình Cơ sở dữ liệu với AngularJS
  • Học lập trình theme wordpress. Làm ra mọi website hoàn chỉnh với wordpress
  • Combo lập trình front-end từ cơ bản – nâng cao
  • Combo lập trình back-end từ cơ bản đến nâng cao
  • Combo lập trình web với word press từ A-Z
0