JSON Future
Modern JSON interface. propositions for ECMAScript 7.
Why
- High level methods for manipulate JSON files.
- Backward compatibility with JSON Object in Node/Browser.
- Async support (callback/promise) based on ECMAScript proposal.
JSON Future is based into a set of cool libraries to handle JSON, but some of this libraries uses promises or callback style. This library adds an extra layer to call these libraries uniformly.
Install
npm install json-future --save
Usage
const jsonFuture = require('json-future')
Don't be afraid to replace for the default JSON
object. The library is specially designed for be compatible and don't break your code:
JSON = require('json-future')
Also you can do this action using the register
helper:
require('json-future/register')
API
In async
methods, if you don't provide a callback for node style, then the method return a Promise
.
.stringify(input, [replacer], [space])
.stringifyAsync(input, [replacer], [space], [cb])
Creates the string
version of the input.
.parse(input, [reviver], [filename])
.parseAsync(input, [reviver], [filename], [cb])
Creates the object
version of the input.
.load(filepath)
.loadAsync(filepath, [cb])
Returns the parsed JSON.
.save(filepath, data, [options])
.saveAsync(filepath, data, [options], [cb])
Stringify and write JSON to a file atomically.
options
indent
Type: string
, number
Default: \t
Indentation as a string or number of spaces.
Pass in null
for no formatting.
sortKeys
Type: boolean
, function
Default: false
Sort the keys recursively.
Optionally pass in a compare
function.
replacer
Type: function
Passed into JSON.stringify
.
mode
Type: number
Default 438
(0666 in octal)
Mode used when writing the file.
License
MIT © Kiko Beats