Package Exports
- lighter-json
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (lighter-json) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
lighter-json
The lighter-json module is a lightweight JavaScript Object Notation utility.
Quick Start
From your project directory, install and save as a dependency:
npm install --save lighter-jsonThen use lighter-json in place of the global JSON object for circular
reference safety and more.
var JSON = require('lighter-json')
// Create a circular reference, if you like.
var object = {}
object.reference = object
// It's OK, you're safe.
var json = JSON.stringify(object)
console.log(json)
//> {"reference":"[Circular 1]"}API
The lighter-json package exports an object with several methods for dealing
with JSON and non-strict JSON. It also populates same-name methods onto the
global JSON object, apart from its stringify method, which is populated as
JSON.safeStringify.
lighterJson.stringify(value[, replacer[, space]])
Perform a JSON stringify operation on a value, using automatic cycle detection if a replacer function is not provided.
lighterJson.parse(json)
Parse a JSON string (using the builtin JSON.parse).
lighterJson.scriptify(value)
Represent a value as non-strict JSON, complete with JS code for re-constructing Date, Error, Function and RegExp values.
lighterJson.evaluate(js)
Evaluate and return a value from a JavaScript string representation. This supports non-strict JSON, so a value (or a deep property) can be a Date, a Function, an Error or a RegExp.
lighterJson.reader(readableStream)
Listen to a readable stream that's not in object mode, and interpret its
lines as JavaScript values (using lighterJson.evaluate).
lighterJson.unreader(readableStream)
Stop listening for values on a readable stream.
lighterJson.writer(writableStream)
Replace the stream's write method with one that accepts objects and writes non-strict JSON.
lighterJson.unwriter(writableStream)
Puts a writable stream's write method back.
lighterJson.colorize(value)
Evaluate and return a value from a JavaScript string representation. This supports non-strict JSON, so a value (or a deep property) can be a Date, a Function, an Error or a RegExp.