refify
Version:
Safely stringify & parse circular references to & from JSON using JSON pointers
34 lines (21 loc) • 973 B
Markdown
var refify = require('refify');
var o = {};
o.circular = o;
refify(o) //=> {circular: {$ref: "#/"}}
refify.stringify(o) //=> '{"circular":{"$ref":"#/"}}'
refify.parse('{"o":{"$ref":"#/"}}') //=> {circular: [Circular]}
```
This module allows you to safely `JSON.stringify` objects with circular
references. Circular references are replaced with document-relative
[ ][json_ref]. This provides a clear and unambiguous encoding that
is already supported by other tools.
Refify uses a universal module definition, this means you can load it using whatever module system you like: CommonJS, AMD, or none at all.
If there is no module loader detected (e.g. you just have a plain `<script src="refify.js"></script>` in your HTML), `refify` will be defined globally.
## License
MIT
[json_ref]: http://tools.ietf.org/id/draft-pbryan-zyp-json-ref-03.html
```javascript