Skip to content

Turn a Javascript primitive into its "flat" representation. Aims to be equivalent to `JSON.parse(JSON.stringify(obj))`.

License

Notifications You must be signed in to change notification settings

emilbayes/object-tojson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

object-tojson

Build Status

Turn a Javascript primitive into its "flat" representation. Aims to be equivalent to JSON.parse(JSON.stringify(obj)).

Usage

Turn a Javascript primitive into its "flat" representation. Aims to be equivalent to JSON.parse(JSON.stringify(obj)). Note that it will recursively visit all properties and attempt to call toJSON, before trying to parse the value. undefined is not a valid JSON value, so it will attempt to remove properties that resolve to this value, unless it is an array element, in which case it resolves to null.

var serialise = require('object-tojson')

serialise({
  key: 'value',
  arr: [undefined, null, true],
  keyFn: {toJSON: function () { return 'valueFn' }}
}) // => {key: 'value', [null, null, true], keyFn: 'valueFn'}

// With replacer array
serialise({
  key: 'value',
  arr: [undefined, null, true],
  keyFn: {toJSON: function () { return 'valueFn' }}
}, ['key', 0]) // => {key: 'value', [null, null, true]}

API

serialise(value, [replacer], [circular = false])

Recursively serialise value as JSON.strinfigy, with optional replacer. replacer(key, value) is called with the holder of vale as the context (this). Return the replacement for value from this function.

circular controls whether circular references should throw an error like JSON.stringify or preserve a circular reference to the serialised result.

``

Install

npm install object-tojson

License

ISC

About

Turn a Javascript primitive into its "flat" representation. Aims to be equivalent to `JSON.parse(JSON.stringify(obj))`.

Resources

License

Stars

Watchers

Forks

Packages

No packages published