Sử dụng JSON.stringify() một cách hiệu quả trong Javascript

2204
Cách sử dụng JSON.stringify() trong Javascript

Người viết: Huỳnh Đắc Phú

JSON.stringify() là một hàm kinh điển trong Javascript để chuyển một Object sang JSON. Có rất nhiều thư viện sử dụng JSON.stringify() như res.json() trong Express, post() trong Axios và cả Webpack stats.

Trong bài viết này mình sẽ trình bày một cách tổng quan về JSON.stringify() bao gồm cả các trường hợp lỗi.

JSON.stringify() sử dụng chung với hàm JSON.parse(), đây là cách ta sao chép một Object mà không ảnh hưởng đến Object cũ.

Trường hợp đặc biệt và lỗi

Khi một Object có một property trỏ về chính nó, JSON.stringify() trả về 1 error

Các trường hợp NaN và InfinityJSON.stringify() sẽ trả về null

Lọc bỏ hết tất cả các giá trị undefined hay function

Các tham số còn lại của JSON.stringify()

JSON.stringify() nhận vào 3 tham số , đa phần chúng ta không biết đến 2 tham số còn lại.

Tham số thứ 2 là một hàm replacer, một hàm nhận vào 1 cặp key/value có thể sử dụng để thay đổi output sau cùng.

Tham số thứ 3 là spaces, cho phép format lại đoạn code in ra console. Có nhiều cách để hiển thị ra thứ mà ta mong muốn.

Ví dụ như ta có thể lược bỏ dữ liệu nhạy cảm như password ra khỏi Object bằng JSON.stringify().

Hàm toJSON()

Khi đi qua hàm JSON.stringify() nếu bên trong Object có hàm toJSON(), thì nó sẻ trả về kết quả của hàm này.

Rất nhiều thư viện sử dụng JSON.stringify() kết hợp toJSON() để đảm bảo output lúc serialize ra đúng với mong muốn như Moment objects và Mongoose documents.

Hy vọng bài viết sẽ giúp các bạn có thể hiểu rõ và sử dụng JSON.stringigy() hợp lý và hiệu quả.

Tham khảo

Có thể bạn quan tâm:

Xem thêm việc làm JavaScript Developer trên TopDev

TopDev via viblo.asia

  Tối ưu câu lệnh điều kiện dễ đọc hơn trong Javascript
  Scope và Closure trong Javascript