I may not have tried them all, but I’ve tried quite a few including:
- The default libraries from json.org
- Google Gson
I ended up going with Google Gson, the library is simple, efficient, intuitive and flexible. It allows you to convert JSON objects directly into equivalent Java POJOs and back again, which makes for clean and simple code.
One annoyance with Gson is that its JSON pretty-printer isn’t verbose enough for my tastes, but at the time of writing (Oct 09) this is on their todo list. Edit (Sep 2011): I created my own JSON pretty-printer that works with Gson – see here for more information.
 “Plain Old Java Object”