
Pretty-printing JSON and XML on Mac OSX - rickette
http://richardlog.com/post/12743073497/pretty-printing-json-and-xml-on-mac-osx
======
georgecalm
Nice! You can set up the following aliases in ~/.zshrc (or ~/.bashrc):

    
    
      alias json="python -mjson.tool"
      alias xml="xmllint --format -"
    

then pipe into them like so:

    
    
      echo '{"one": 1}' | json
      echo "<one>1</one>" | xml

------
pamelafox
My personal toolkit:

JSONView Chrome Extension:
[https://chrome.google.com/webstore/detail/chklaanhfefbnpoihc...](https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc)

XML Tree Chrome Extension:
[https://chrome.google.com/webstore/detail/gbammbheopgpmaagmc...](https://chrome.google.com/webstore/detail/gbammbheopgpmaagmckhpjbfgdfkpadb)

And JSONlint.com to copy/paste JSON from wherever: <http://jsonlint.com/>

Also love that Chrome dev tools now pretty prints JSON returned from XHRs in
the network response tab.

------
Groxx
You could also just pipe it back into the clipboard with | pbcopy :)

A neat set of tricks, hopefully they'll replace jsonlint.com in my brain, and
soon :)

~~~
ConstantineXVI
pbcopy/pbpaste are handy enough to point out on their own merit. Handy little
timesavers.

------
_djo_
Just be aware that xmllint cleans up XML as well as formatting it, which can
in rare circumstances cause some confusion.

So if the incoming XML had an empty tag specified as <tag></tag> xmllint will
turn it into <tag/>. If you're specifically looking for <tag></tag> for some
reason, then that could trip you up.

Shouldn't matter 99% of the time though.

------
npollock
IMO, the best way to spend $50 is on a Charles license -
<http://www.charlesproxy.com/>

It's saved me countless hours debugging web services, be it JSON, XML, AMF,
you name it. There's a free 30 day trial, and it runs on Mac OSX, Windows, and
Linux.

------
xerxes2001
Hey! Why not use <https://github.com/nicksieger/jsonpretty> for pretty
printing JSON?

~~~
georgebashi
Because these work out-of-the-box on an installation of Snow Leopard or Lion -
or in fact, any machine with python 2.6 and/or libxml2, which includes the
latest Ubuntu LTS release.

There's definitely better tools out there if you're willing to install
something - but these are great when you're in a pinch.

------
forgotusername
`tidy` also comes out of the box on OS X. It handles HTML too.

    
    
        tidy -xml -q -i < in.xml | less
    

etc.

------
jgavris
I like the jsonview firefox plugin :)

