Skip to content
a pipeable JSON parser written in Bash
Shell
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
test
.gitignore
JSON.sh
LICENSE
all-tests.sh
package.json
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.