circular
v1.0.5
Published
Tiny utility to safely stringify objects with circular references
Downloads
17,850
Readme
Circular
Tiny utility to safely stringify objects with circular references.
Usage
Replace all circular references with the string [Circular]
;
var circular = require('circular');
var obj = {}; var child = {parent: obj}; obj.child = child;
var str = JSON.stringify(obj, circular());
// => {"child":{"parent":"[Circular]"}}
If you prefer you can pass an alternative string to use:
var str = JSON.stringify(obj, circular('#ref'));
Or a function that returns a string:
function ref(value){return '' + value};
var str = JSON.stringify(obj, circular(ref));
As of version 1.0.4
you can also pass an additional boolean that will convert function references to strings, useful for converting javascript modules to couchdb
design documents.
var str = JSON.stringify(obj, circular(null, true));