JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 76390355
  • Score
    100M100P100Q238454F
  • License MIT

Easily read/write JSON files.

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

build status

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 --save

API

readFile(filename, [options], callback)

var jf = require('jsonfile')
var util = require('util')

var file = '/tmp/data.json'
jf.readFile(file, function(err, obj) {
  console.log(util.inspect(obj))
})

readFileSync(filename, [options])

var jf = require('jsonfile')
var util = require('util')

var file = '/tmp/data.json'

console.log(util.inspect(jf.readFileSync(file)))

options: throws. Set to false if you don't ever want this method to throw on invalid JSON. Will return null instead. Defaults to true. Others passed directly to fs.readFileSync.

writeFile(filename, [options], callback)

var jf = require('jsonfile')

var file = '/tmp/data.json'
var obj = {name: 'JP'}

jf.writeFile(file, obj, function(err) {
  console.log(err)
})

writeFileSync(filename, [options])

var jf = require('jsonfile')

var file = '/tmp/data.json'
var obj = {name: 'JP'}

jf.writeFileSync(file, obj)

spaces

Number of spaces to indent JSON files.

default: 2

var jf = require('jsonfile')

jf.spaces = 4;

var file = '/tmp/data.json'
var obj = {name: 'JP'}

jf.writeFile(file, obj, function(err) { //json file has four space indenting now
  console.log(err)
})

Contributions

If you contribute to this library, please don't change the version numbers in your pull request.

Contributors

(You can add your name, or I'll add it if you forget)

License

(MIT License)

Copyright 2012-2014, JP Richardson jprichardson@gmail.com