Wondering what’s next for npm?Check out our public roadmap! »

    dot-json

    1.2.2 • 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"
    dot-json myfile.json foo..bar baz

    myfile.json now looks like

    {
        "user": {
            "name": "John Doe",
            "email": "john@example.com"
        },
        "foo.bar": "baz"
    }
    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:
      --indent=<n>    Indent with <n> of white space characters [default: auto]
      -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

    42,184

    Version

    1.2.2

    License

    MIT

    Unpacked Size

    37.2 kB

    Total Files

    5

    Last publish

    Collaborators

    • avatar