Package Exports
- jsonfile
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 (jsonfile) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Node.js - jsonfile
Easily read/write JSON files.
Why?
Writing JSON.stringify() and then fs.writeFile() and JSON.parse() with fs.readFile() enclosed in try/catch blocks became annoying.
Installation
npm install jsonfile --saveAPI
readFile(filename, [options], callback)
options: Pass in any fs.readFile options or set reviver for a JSON reviver.
var jsonfile = require('jsonfile')
var util = require('util')
var file = '/tmp/data.json'
jsonfile.readFile(file, function(err, obj) {
console.dir(obj)
})readFileSync(filename, [options])
options: Pass in any fs.readFileSync options or set reviver for a JSON reviver. Also throws set to false if you don't ever want this method
to throw on invalid JSON. Will return null instead. Defaults to true.
var jsonfile = require('jsonfile')
var util = require('util')
var file = '/tmp/data.json'
console.dir(jsonfile.readFileSync(file))writeFile(filename, [options], callback)
options: Pass in any fs.writeFile options or set replacer for a JSON replacer. Can also pass in spaces.
var jsonfile = require('jsonfile')
var file = '/tmp/data.json'
var obj = {name: 'JP'}
jsonfile.writeFile(file, obj, function (err) {
console.error(err)
})formatting with spaces:
var jsonfile = require('jsonfile')
var file = '/tmp/data.json'
var obj = {name: 'JP'}
jsonfile.writeFile(file, obj, {spaces: 2}, function(err) {
console.error(err)
})writeFileSync(filename, [options])
options: Pass in any fs.writeFileSync options or set replacer for a JSON replacer. Can also pass in spaces.
var jsonfile = require('jsonfile')
var file = '/tmp/data.json'
var obj = {name: 'JP'}
jsonfile.writeFileSync(file, obj)formatting with spaces:
var jsonfile = require('jsonfile')
var file = '/tmp/data.json'
var obj = {name: 'JP'}
jsonfile.writeFileSync(file, obj, {spaces: 2})spaces
Global configuration to set spaces to indent JSON files.
default: null
var jsonfile = require('jsonfile')
jsonfile.spaces = 4;
var file = '/tmp/data.json'
var obj = {name: 'JP'}
// json file has four space indenting now
jsonfile.writeFile(file, obj, function (err) {
console.error(err)
})Note, it's bound to this.spaces. So, if you do this:
var myObj = {}
myObj.writeJsonSync = jsonfile.writeFileSync
// => this.spaces = nullCould do the following:
var jsonfile = require('jsonfile')
jsonfile.spaces = 4
jsonfile.writeFileSync(file, obj) // will have 4 spaces indentation
var myCrazyObj = {spaces: 32}
myCrazyObj.writeJsonSync = jsonfile.writeFileSync
myCrazyObj.writeJsonSync(file, obj) // will have 32 space indentation
myCrazyObj.writeJsonSync(file, obj, {spaces: 2}) // will have only 2License
(MIT License)
Copyright 2012-2015, JP Richardson jprichardson@gmail.com