664 B
664 B
title, tags
| title | tags |
|---|---|
| circularJSONStringify | object,intermediate |
Serializes valid JSON objects containing circular references into a JSON format.
- Use
JSON.stringifywith a custom replacer - ⚠️ NOTICE: This function finds and removes circular references, what causes data loss
const circularJSONStringify = object => {
const cache = new WeakSet();
return JSON.stringify(object, (key, value) => {
if (value !== null && typeof value === 'object') {
if (cache.has(value)) return;
cache.add(value);
}
return value;
});
};
const obj = { n: 42 };
obj.obj = obj;
circularJSONStringify(obj); // '{"n": 42}'