$ echo '{"foo": "lorem", "bar": "ipsum"}' | groovy -e 'import groovy.json.*; println JsonOutput.prettyPrint(System.in.text)' { "foo": "lorem", "bar": "ipsum" }
We can slightly improve this one-liner via adding shell alias:
$ alias pp="groovy -e 'import groovy.json.*; println JsonOutput.prettyPrint(System.in.text)'" $ echo '{"foo": "lorem", "bar": "ipsum"}' | pp
Also, we might use Groovy script which might be handy for simple JSON validation also:
$ cat prettyJson.groovy import groovy.json.* try { println JsonOutput.prettyPrint(System.in.text) } catch (JsonException e) { println "ERROR: Not valid JSON" System.exit(1) } $ echo '{"foo: "lorem", ' | groovy prettyJson.groovy ERROR: Not valid JSON