Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

update json in-place, preserving formatting

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 example
Octocat-spinner-32 test
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 README.markdown
Octocat-spinner-32 index.js
Octocat-spinner-32 package.json
README.markdown

jsup

Update json strings in-place.

build status

example

stub

stub.json:

{
    "a" : [   1,  2,  333333,  4   ] ,
    "b" : [ 3, 4, { "c" : [ 5, 6 ] } ],
    "c" :
      444444,
    "d" : null
}

stub.js:

var jsup = require('jsup');
var fs = require('fs');
var src = fs.readFileSync(__dirname + '/stub.json', 'utf8');

var s = jsup(src)
    .set([ 'a', 2 ], 3)
    .set([ 'c' ], 'lul')
    .stringify()
;
console.log(s);

output:

$ node stub.js
{
    "a" : [   1,  2,  3,  4   ] ,
    "b" : [ 3, 4, { "c" : [ 5, 6 ] } ],
    "c" :
      "lul",
    "d" : null
}

methods

var jsup = require('jsup');

var j = jsup(src)

Return a new jsup updater from the json string body src.

j.get(path=[])

Get the element at path.

j.set(path, value)

Replace the element at path with value, preserving indentation.

Right now value will be run through JSON.stringify() for the replacement.

There must be an element at path already or this method will throw.

j.stringify()

Return the new string source with modifications, preserving indentation.

install

With npm just do:

npm install jsup
Something went wrong with that request. Please try again.