a 'json' command for massaging JSON on your Unix command line
$ cnpm install jsontool
json is a fast CLI tool for working with JSON. It is a single-file node.js
script with no external deps (other than
node.js itself). A quick taste:
$ echo '{"foo":"bar"}' | json
{
"foo": "bar"
}
$ echo '{"foo":"bar"}' | json foo
bar
$ echo '{"age":10}' | json -E 'this.age++'
{
"age": 11
}
$ echo '{"latency":32,"req":"POST /widgets"},
{"latency":10,"req":"GET /ping"}
' | json -gaC 'this.latency > 10' req
POST /widgets
Features:
-E and -C options)See http://trentm.com/json for full docs and examples as a man page.
Follow @trentmick for updates to jsontool.
Get node.
npm install -g jsontool (NOT npm install json, that's something else :|)
OR manually:
Get the 'json' script and put it on your PATH somewhere (it is a single file with no external dependencies). For example:
cd ~/bin
curl -L https://github.com/trentm/json/raw/master/lib/jsontool.js > json
chmod 755 json
You should now have "json" on your PATH:
$ json --version
json 7.0.0
WARNING for Ubuntu/Debian users: There is a current bug in Debian stable
such that "apt-get install nodejs" installed a nodejs binary instead of a
node binary. You'll either need to create a symlink for node, change the
json command's shebang line to "#!/usr/bin/env nodejs" or use
chrislea's PPA as
discussed on issue #56.
make test
You can also limit (somewhat) which tests are run with the TEST_ONLY envvar,
e.g.:
cd test && TEST_ONLY=executable nodeunit test.js
I test against node 0.4 (less so now), 0.6, 0.8, and 0.10.
MIT (see the fine LICENSE.txt file).
Since v1.3.1 you can use "jsontool" as a node.js module:
var jsontool = require('jsontool');
However, so far the module API isn't that useful and the CLI is the primary focus.
Copyright 2013 - present © cnpmjs.org | Home |