Blog hướng dẫn các cách download kiến thức kinh nghiêm thủ thuật chia sẻ phần mềm tool soft miễn phí là gì. Blog.locbanbekhongtuongtac.com

Table of Content

Write json file npm

Node.js - jsonfile

Easily read/write JSON files in Node.js. Note: this module cannot be used in the browser.

npm Packagebuild statuswindows Build status

Standard JavaScript

Why?

Writing JSON.stringify() and then fs.writeFile() and JSON.parse() with fs.readFile() enclosed in try/catch blocks became annoying.

Installation

npm install --save jsonfile

API

  • readFile(filename, [options], callback)
  • readFileSync(filename, [options])
  • writeFile(filename, obj, [options], callback)
  • writeFileSync(filename, obj, [options])

readFile(filename, [options], callback)

options (object, default undefined): Pass in any fs.readFile options or set reviver for a JSON reviver.

  • throws (boolean, default: true). If JSON.parse throws an error, pass this error to the callback. If false, returns null for the object.
constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
jsonfile.readFile(file,function(err,obj){
if(err)console.error(err)
console.dir(obj)
})

You can also use this method with promises. The readFile method will return a promise if you do not pass a callback function.

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
jsonfile.readFile(file)
.then(obj=>console.dir(obj))
.catch(error=>console.error(error))

readFileSync(filename, [options])

options (object, default undefined): Pass in any fs.readFileSync options or set reviver for a JSON reviver.

  • throws (boolean, default: true). If an error is encountered reading or parsing the file, throw the error. If false, returns null for the object.
constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
console.dir(jsonfile.readFileSync(file))

writeFile(filename, obj, [options], callback)

options: Pass in any fs.writeFile options or set replacer for a JSON replacer. Can also pass in spaces, or override EOL string or set finalEOL flag as false to not save the file with EOL at the end.

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFile(file,obj,function(err){
if(err)console.error(err)
})

Or use with promises as follows:

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFile(file,obj)
.then(res=>{
console.log('Writecomplete')
})
.catch(error=>console.error(error))

formatting with spaces:

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFile(file,obj,{spaces:2},function(err){
if(err)console.error(err)
})

overriding EOL:

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFile(file,obj,{spaces:2,EOL:'\r\n'},function(err){
if(err)console.error(err)
})

disabling the EOL at the end of file:

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFile(file,obj,{spaces:2,finalEOL:false},function(err){
if(err)console.log(err)
})

appending to an existing JSON file:

You can use fs.writeFile option { flag: 'a' } to achieve this.

constjsonfile=require('jsonfile')
constfile='/tmp/mayAlreadyExistedData.json'
constobj={name:'JP'}
jsonfile.writeFile(file,obj,{flag:'a'},function(err){
if(err)console.error(err)
})

writeFileSync(filename, obj, [options])

options: Pass in any fs.writeFileSync options or set replacer for a JSON replacer. Can also pass in spaces, or override EOL string or set finalEOL flag as false to not save the file with EOL at the end.

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFileSync(file,obj)

formatting with spaces:

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFileSync(file,obj,{spaces:2})

overriding EOL:

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFileSync(file,obj,{spaces:2,EOL:'\r\n'})

disabling the EOL at the end of file:

constjsonfile=require('jsonfile')
constfile='/tmp/data.json'
constobj={name:'JP'}
jsonfile.writeFileSync(file,obj,{spaces:2,finalEOL:false})

appending to an existing JSON file:

You can use fs.writeFileSync option { flag: 'a' } to achieve this.

constjsonfile=require('jsonfile')
constfile='/tmp/mayAlreadyExistedData.json'
constobj={name:'JP'}
jsonfile.writeFileSync(file,obj,{flag:'a'})

License

(MIT License)

Copyright 2012-2016, JP Richardson

Video liên quan

Đăng nhận xét