Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

a pipeable JSON parser written in Bash

tree: a48cb2f6a4

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 test
Octocat-spinner-32 .gitignore Tokenizer changes:
Octocat-spinner-32 JSON.sh
Octocat-spinner-32 LICENCE
Octocat-spinner-32 all-tests.sh
Octocat-spinner-32 package.json
Octocat-spinner-32 readme.markdown
readme.markdown

JSON.sh

yo, so it's a json parser written in bash

pipe json to it, and it traverses the json objects and prints out the path to the current object (as a JSON array) and then the object, without whitespace.

$ json_parse < package.json
["name"]    "JSON.sh"
["version"] "0.0.0"
["description"] ""
["homepage"]    "http://github.com/dominictarr/JSON-sh"
["repository","type"]   "git"
["repository","url"]    "https://github.com/dominictarr/JSON-sh.git"
["repository"]  {"type":"git","url":"https://github.com/dominictarr/JSON-sh.git"}
["bin","json_parse"]    "./bin/json_parse"
["bin"] {"json_parse":"./bin/json_parse"}
["dependencies"]    {}
#  ... etc

a more complex example:

curl registry.npmjs.org/express | ./bin/json_parse | egrep '\["versions","[^"]*"\]'
... try it and see

Examples

If you have any examples with JSON.sh, streaming twitter, github, or whatever! please issue a pull request and i will include them.

Something went wrong with that request. Please try again.