Stringify Là Gì

     

*
JSON.stringify() là một trong hàm kinh khủng vào Javascript để đưa một Object thanh lịch JSON. Có rất nhiều thỏng viện thực hiện JSON.stringify() nlỗi res.json() trong Express , post() trong Axtiện ích ios và cả Webpaông xã stats. Trong bài viết này mình đang trình bày một phương pháp tổng quan liêu về JSON.stringify() bao gồm cả các ngôi trường vừa lòng lỗi.

Bạn đang xem: Stringify là gì

const obj = answer: 42 ;const str = JSON.stringify(obj);str; // ""answer":42"typeof str; // "string"JSON.stringify() áp dụng tầm thường cùng với hàm JSON.parse(), đó là cách ta sao chép một Object mà không tác động mang đến Object cũ.

const obj = answer: 42 ;const clone = JSON.parse(JSON.stringify(obj));clone.answer; // 42clone === obj; // false

Trường đúng theo quan trọng đặc biệt cùng lỗi.

1. khi một Object bao gồm một property trỏ về bao gồm nó, JSON.stringify() trả về 1 errorconst obj = ;obj.prop = obj;// Throws "TypeError: TypeError: Converting circular structure lớn JSON"JSON.stringify(obj);2. Các trường phù hợp NaN và Infinity, JSON.stringify() sẽ trả về nullconst obj = nan: parseInt("not a number"), inf: Number.POSITIVE_INFINITY;JSON.stringify(obj) // ""nan":null,"inf":null"3. Lọc quăng quật hết toàn bộ những cực hiếm undefined tuyệt functionconst obj = fn: function() , undef: undefined;JSON.stringify(obj) // ""

Các tsi số sót lại của JSON.stringify()

JSON.stringify() dìm vào 3 tyêu thích số , phần lớn chúng ta không nghe biết 2 tđê mê số còn lại.

Tsay mê số thứ 2 là 1 hàm replacer, một hàm dấn vào 1 cặp key/value rất có thể sử dụng nhằm biến hóa output ở đầu cuối.

Xem thêm: Tiểu Sử Diễn Viên Hài Vân Dung Quê Ở Đâu, Tiểu Sử Sự Nghiệp Của Nghệ Sĩ Vân Dung

const obj = a: 1, b: 2, c: 4, d: e: 4 ;//Nếu là number thì tạo thêm 1JSON.stringify(obj, function replacer(key, val) if(typeof val === "number") return val + 1; return val;)// ""a":2,"b":3,"c":4,"d":"e":5"Tđắm say số sản phẩm 3 là spaces, chất nhận được format lại đoạn code in ra console. Có nhiều phương pháp để hiển thị ra máy nhưng ta mong muốn.

const obj = a: 1, b: 2, c: 4, d: e: 4 ;JSON.stringify(obj);// ""a":1,"b":2,"c":3,"d":"e":4"JSON.stringify(obj, null, " ");// hoặcJSON.stringify(obj, null, 2);// // "a": 1,// "b": 2,// "c": 3,// "d": // "e": 4// // //Không tuyệt nhất thiết cần là dấu khoảng tầm trắngJSON.stringify(obj, null, "__"); // // __"a": 1,// __"b": 2,// __"c": 3,// __"d": // ____"e": 4// __// lấy một ví dụ nlỗi ta có thể lược quăng quật dữ liệu mẫn cảm nhỏng password thoát ra khỏi Object bằng JSON.stringify().

const obj = name: "John Doe", password: "isLuckyman", nested: hashedPassword: "c3RhcmdhemVy" ;JSON.stringify(obj, function replacer(key, val) if(key.match(/password/i)) return undefined; return val;);// ""name":"John Doe","nested": "

Hàm toJSON()

lúc trải qua hàm JSON.stringify() nếu bên trong Object tất cả hàm toJSON(), thì nó sẻ trả về công dụng của hàm này.

Xem thêm: Tiểu Sử Mr Siro Tên Thật Là Gì, Tiểu Sử Ca Sĩ Mr, Tiểu Sử Ca Sĩ Mr

const obj = name: "John Doe", nested: test: "nothing khổng lồ show", toJSON: () => "test" ;JSON.stringify(obj);// ""name":"John Doe","nested":"test""Rất nhiều thỏng viện thực hiện JSON.stringify() phối kết hợp toJSON() nhằm bảo vệ output thời điểm serialize ra đúng cùng với mong ước như Moment objects với Mongoose documents. Hy vọng nội dung bài viết sẽ giúp đỡ các chúng ta cũng có thể làm rõ và sử dụng JSON.stringigy() hợp lý và kết quả.