twitst4tz

twitter statistics web application
Log | Files | Refs | README | LICENSE

README.md (1261B)


      1 # json-stringify-safe
      2 
      3 Like JSON.stringify, but doesn't throw on circular references.
      4 
      5 ## Usage
      6 
      7 Takes the same arguments as `JSON.stringify`.
      8 
      9 ```javascript
     10 var stringify = require('json-stringify-safe');
     11 var circularObj = {};
     12 circularObj.circularRef = circularObj;
     13 circularObj.list = [ circularObj, circularObj ];
     14 console.log(stringify(circularObj, null, 2));
     15 ```
     16 
     17 Output:
     18 
     19 ```json
     20 {
     21   "circularRef": "[Circular]",
     22   "list": [
     23     "[Circular]",
     24     "[Circular]"
     25   ]
     26 }
     27 ```
     28 
     29 ## Details
     30 
     31 ```
     32 stringify(obj, serializer, indent, decycler)
     33 ```
     34 
     35 The first three arguments are the same as to JSON.stringify.  The last
     36 is an argument that's only used when the object has been seen already.
     37 
     38 The default `decycler` function returns the string `'[Circular]'`.
     39 If, for example, you pass in `function(k,v){}` (return nothing) then it
     40 will prune cycles.  If you pass in `function(k,v){ return {foo: 'bar'}}`,
     41 then cyclical objects will always be represented as `{"foo":"bar"}` in
     42 the result.
     43 
     44 ```
     45 stringify.getSerialize(serializer, decycler)
     46 ```
     47 
     48 Returns a serializer that can be used elsewhere.  This is the actual
     49 function that's passed to JSON.stringify.
     50 
     51 **Note** that the function returned from `getSerialize` is stateful for now, so
     52 do **not** use it more than once.