10 comments

[ 4.3 ms ] story [ 34.1 ms ] thread
Hey! Why not use https://github.com/nicksieger/jsonpretty for pretty printing JSON?
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.

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

    tidy -xml -q -i < in.xml | less
etc.
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.

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 :)

pbcopy/pbpaste are handy enough to point out on their own merit. Handy little timesavers.
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.

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
I like the jsonview firefox plugin :)