A more robust version of the Gson Java<->JSON serialisation library. This can handle vague classes and circular references.