Live data from Hacker News

Jshon: A command line program to parse, read and create JSON

kmkeen.com

1–10 of 21 posts

Re: Jshon: A command line program to parse, read and create JSON

#2
Note for simple uses, Python 2.6+ comes with the "json.tool" module (also part of simplejson if you're
    $ type json
    json is aliased to `python -m json.tool'
    $ curl -s twitter.com/users/BarackObama.json|json|grep '"url"'
        "url": "http://www.barackobama.com",

Re: Jshon: A command line program to parse, read and create JSON

#4
I've been using CouchDB a lot over the last six months or so and I've been seeing a lot of JSON on the command line - either through curl or using my own application-specific command line utilities. I must admit that I rather like working with JSON on the command line - it is easy on the eye but allows far more powerful structures than the usual Unix approach of lines with delimited fields (which I've been happily using for 20+ years).

Using JSON to extend command line processing looks to me like it is a nice step forward. Things like Microsoft's PowerShell are perhaps conceptually more elegant (where you pass real live objects about) but the practical reality always seems very fussy and tied to a particular programming platform. Other approaches (e.g. passing XML between Unix-style command line programs) isn't very appealing due to the general ugliness and verbosity of most XML.

Re: Jshon: A command line program to parse, read and create JSON

#5
There have been some attempts to make a line oriented XML format so that shell tools work; doing the same thing with JSON is possible too; there are a few ways to do it. Have been meaning to give it a go at some point. In my view it makes more sense than building a new set of tools, especially as the Jshon ones do not really seem to compose properly.

References for XML: http://www.lbreyer.com/unix_xml-1.html http://www.ofb.net/~egnor/xml2/ http://gnosis.cx/publish/programming/xml_matters_17.html

Re: Jshon: A command line program to parse, read and create JSON

#6
Great tool, was thinking about writing something like that myself. I especially wanted a tool that would print the value of a specific key to STDOUT with a syntax like

    echo "{ 'a': {'b': {'c": 0 } } }" | json-tool "a.b.c"   # echos 0
Maybe your tool does that but I missed it

Re: Jshon: A command line program to parse, read and create JSON

#8
post #6

Great tool, was thinking about writing something like that myself. I especially wanted a tool that would print the value of a specific key to STDOUT with a syntax like echo "{ 'a': {'b': {'c": 0 } } }" | json-tool "a.b.c" # echos 0 Maybe your tool does that but I missed it

Glad you like it. I'll be adding a path-like syntax next. This was just a little one-day hackup to learn getopts.

You can do similar with -e a -e b -e c. Or just make your own wrapper with

jshon $(echo ".a.b.c" | sed 's/./ -e/g')

Re: Jshon: A command line program to parse, read and create JSON

#9

Jsawk seems more intuitive, as you get to write JavaScript instead of combining command-line flags: https://github.com/micha/jsawk

Found that, decided I did not want Spidermonkey on my server running untrusted user generated JS. Also, it seemed ironic to have Spidermonkey be a dependency for my "lightweight" shell scripts.
Post reply on HN