TIL: JSON.stringify takes toJSON methods into consideration
source link: https://www.tuicool.com/articles/rQfe6jI
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
I was reading this great article on JSON.stringify
by Valeri Karpov when I discovered something I didn't know before.
You can use JSON.stringify
to serialize objects and store them let's say in localStorage
. It turns out that JSON.stringify
checks if the object to serialize includes a toJSON
method. If it does it will use this method to evaluate the result of the serialization.
const zoo = { animals: { list: ['cat', 'dog', 'duck'], // toJSON will be called by JSON.stringify toJSON: () => { return [':cat:', ':dog:', ' '] } } } console.log(JSON.stringify(zoo, null, 2));
By including a toJSON
method you can manipulate the data that should go into serialization. You can use this functionality to e.g. clean up logs and not store sensitive information in a database. Pretty sweet. :ok_hand:
If you want to learn more you can check MDN or have a look at a chapter of Exploring JavaScript written by Axel Rauschmayer .
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK