Ninety-nine Pitchers of Malt
Have opinions about JavaScript? We want to hear them. Take the 2018 JavaScript Ecosystem Survey »

dot-json

1.0.4 • Public • Published

dot-json

Build Status

Easily edit a json file from the CLI or NodeJS.

Install global

npm install -g dot-json

or local

npm install --save dot-json

Use from the CLI

dot-json myfile.json user.name "John Doe"
dot-json myfile.json user.email "john@example.com"

myfile.json now looks like

{
    "user": {
        "name": "John Doe",
        "email": "john@example.com"
    }
}
dot-json myfile.json user.name
John Doe
Usage:
  dot-json <file> <key-path>             Get a value from a json file by key-path
  dot-json <file> <key-path> <value>     Assign a value at a key-path
  dot-json <file> <key-path> --delete    Delete a key by key-path

Options:
  -d --delete     Delete the key-path
  -h --help       Show this message with options
  -v --version    Print the version number

Quick tip for editing package.json

Add to .bash_profile:

alias package="dot-json package.json"

Use it like this:

package name "my-package"

Use it in NodeJS

Initialization

var DotJson = require('dot-json');
var myfile = new DotJson('myfile.json');

Writing

asynchronous

myfile.set('user.name', 'John Doe').set('user.email', 'john@example.com').save(function(){
  console.log('saved');
});

synchronous

myfile.set('user.name', 'John Doe').set('user.email', 'john@example.com').save();

myfile.json now looks like

{
    "user": {
        "name": "John Doe",
        "email": "john@example.com"
    }
}

Reading

asynchronous

myfile.get('user.name', function(value){
  // value = 'John Doe'
  console.log(value);
});

synchronous

var value = myfile.get('user.name');
// value = 'John Doe'
console.log(value);

Deleting

asynchronous

myfile.delete('user.name').save(function(){
  console.log('saved');
});

synchronous

myfile.delete('user.name').save();

myfile.json now looks like

{
    "user": {
        "email": "john@example.com"
    }
}

npmjs.org/package/dot-json

install

npm i dot-json

Downloadsweekly downloads

5,417

version

1.0.4

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
Report a vulnerability