yyx990803 / Circular Json Es6
Licence: mit
circular JSON.stringify and JSON.parse, for environments with native ES6 Map
Stars: ✭ 115
Programming Languages
javascript
184084 projects - #8 most used programming language
circular-json-es6
A replacement for JSON.stringify
and JSON.parse
that can handle circular references (persists reference structure).
This implementation requires environments with native ES6 Map support, but is decently faster than circular-json (see benchmark with npm run bench
).
var CircularJSON = require('circular-json-es6')
var obj = {}
obj.a = obj
var clone = CircularJSON.parse(CircularJSON.stringify(obj))
clone.a === clone // -> true
NOTE
The default stringify
method optimizes for cases where no circular reference is present by trying a plain JSON.stringify
first. This means if no circular references are found in the data then it will not persist multiple (but non-circular) references to the same object.
If you want to enforce reference persistence, use CircularJSON.stringifyStrict
instead.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].