Use sed and awk to prettify json
$ cat prettify.sed s/,/,\r\n/g s/\[/\r\n\[\r\n/g s/\]/\r\n\]\r\n/g s/{/\r\n{\r\n/g s/}/\r\n}\r\n/g
$ cat prettify.awk BEGIN{ depth = 0;} /\[/ { sp = 0; while(sp++ < depth) printf(" "); print $0; depth += 1; } /{/ { sp = 0; while(sp++ < depth) printf(" "); print $0; depth += 1; } /\]/ { if (depth > 1) depth -= 1; sp = 0; while(sp++ < depth) printf(" "); print $0; } /}/ { if (depth > 1) depth -= 1; sp = 0; while(sp++ < depth) printf(" "); print $0; } /".*":".*"/ {sp = 0;while(sp++ < depth)printf(" "); print $0;}
$ cat digitalstrategy.json | sed -f prettify.sed | awk -f prettify.awk | head -50 { "agency":"NSF", "generated":"2014-08-07 06:38:36", [ { "id":"2.1", "due":"90 Days", "due_date":"2012\/08\/21", [ { "type":"select", "name":"2-1-status", "label":"Overall Status", [ { "label":"Not Started", "value":"not-started" } { "label":"In Progress", "value":"in-progress" } { "label":"Completed", "value":"completed" } ] "value":"completed" } ] } { "id":"2.1.1", "parent":"2.1", "text":"Paragraph on customer engagement approach", "due":"90 days", "due_date":"2012\/08\/21", [ { "type":"textarea", "name":"2-1-1-customer-engagement-approach", "label":"Paragraph on customer engagement approach", [ ] } ] } { "id":"2.1.2", "parent":"2.1",
$ cat prettify.awk BEGIN{ depth = 0;} /\[/ { # sp = 0; # while(sp++ < depth) # printf(" "); # print $0; depth += 1; } /{/ { # sp = 0; # while(sp++ < depth) # printf(" "); # print $0; depth += 1; } /\]/ { if (depth > 1) depth -= 1; # sp = 0; # while(sp++ < depth) # printf(" "); # print $0; } /}/ { if (depth > 1) depth -= 1; # sp = 0; # while(sp++ < depth) # printf(" "); # print $0; } {sp = 0;while(sp++ < depth)printf(" "); print $0;}