Stringify Là Gì

Bạn đang quan tâm đến Stringify Là Gì phải không? Nào hãy cùng TTTD đón xem bài viết này ngay sau đây nhé, vì nó vô cùng thú vị và hay đấy!

XEM VIDEO Stringify Là Gì tại đây.

Stringify Là Gì

*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 TTTD.VNngify() như TTTD.VN() 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ề TTTD.VNngify() bao gồm cả các trường hợp lỗi.Bạn đang xem: Stringify là gì

const obj = { answer: 42 };const str = TTTD.VNngify(obj);str; // “{“answer”:42}”typeof str; // “string”JSON.stringify() sử dụng chung với hàm TTTD.VNe(), đây là cách ta sao chép một Object mà không ảnh hưởng đến Object cũ.

const obj = { answer: 42 };const clone = TTTD.VNe(JSON.stringify(obj));clone.answer; // 42clone === obj; // false

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

1. Khi một Object có một property trỏ về chính nó, TTTD.VNngify() trả về 1 errorconst obj = {};TTTD.VN = obj;// Throws “TypeError: TypeError: Converting circular structure to JSON”JSON.stringify(obj);2. Các trường hợp NaN và Infinity, TTTD.VNngify() sẽ trả về nullconst obj = { nan: parseInt(“not a number”), inf: TTTD.VNTIVE_INFINITY};JSON.stringify(obj) // “{“nan”:null,”inf”:null}”3. Lọc bỏ hết tất cả các giá trị undefined hay functionconst obj = { fn: function() {}, undef: undefined};JSON.stringify(obj) // “{}”

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

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.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ăng lên TTTD.VNngify(obj, function replacer(key, val) { if(typeof val === “number”) { return val + 1; } return val;})// “{“a”:2,”b”:3,”c”:4,”d”:{“e”:5}}”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.

XEM THÊM:  Price action là gì? Các chiến lược price action trading hiệu quả

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 nhất thiết phải là dấu khoảng trắngJSON.stringify(obj, null, “__”); // {// __”a”: 1,// __”b”: 2,// __”c”: 3,// __”d”: {// ____”e”: 4// __}// }Ví dụ như ta có thể lược bỏ dữ liệu nhạy cảm như password ra khỏi Object bằng TTTD.VNngify().

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()

Khi đi qua hàm TTTD.VNngify() nếu bên trong Object có hàm toJSON(), thì nó sẻ trả về kết quả 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 to show”, toJSON: () => “test” }};JSON.stringify(obj);// “{“name”:”John Doe”,”nested”:”test”}”Rất nhiều thư viện sử dụng TTTD.VNngify() 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 TTTD.VNngigy() hợp lý và hiệu quả.

Vậy là đến đây bài viết về Stringify Là Gì đã dừng lại rồi. Hy vọng bạn luôn theo dõi và đọc những bài viết hay của chúng tôi trên website TTTD.VN

Chúc các bạn luôn gặt hái nhiều thành công trong cuộc sống!

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *