JSON.sh

a pipeable JSON parser written in Bash

Github stars Tracking Chart

JSON.sh

yo, so it's a json parser written in shell, compatible with ash, bash, dash and zsh

travis

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"]  "./JSON.sh"
["bin"]  {"json_parse":"./JSON.sh"}
["dependencies"]  {}
#  ... etc

a more complex example:

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

Options

-b

Brief output. Combines 'Leaf only' and 'Prune empty' options.

-l

Leaf only. Only show leaf nodes, which stops data duplication.

-p

Prune empty. Exclude fields with empty values.

-n

No-head. Don't show nodes that have no path. Normally these output a leading '[]', which you can't use in a bash array.

-s

Remove escaping of the solidus symbol (stright slash).

-h

Show help text.

Installation

Install with npm, pip or from AUR on Archlinux:

  • npm install -g JSON.sh
  • pip install git+https://github.com/dominictarr/JSON.sh#egg=JSON.sh
  • yaourt -Sy json-sh
    (json-sh on aur
    thanks to kremlin-)

License

This software is available under the following licenses:

  • MIT
  • Apache 2

Main metrics

Overview
Name With Ownerdominictarr/JSON.sh
Primary LanguageShell
Program languageShell (Language Count: 2)
Platform
License:Other
所有者活动
Created At2011-10-24 22:16:53
Pushed At2020-12-15 18:51:41
Last Commit At2018-12-23 23:27:16
Release Count0
用户参与
Stargazers Count2k
Watchers Count82
Fork Count266
Commits Count106
Has Issues Enabled
Issues Count29
Issue Open Count16
Pull Requests Count21
Pull Requests Open Count3
Pull Requests Close Count7
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private