You should try using the Gson deserialization rather than the lower level Json handling. Most of what you have here is unnecessary code or could be replaced by a much smaller Gson Type Handler.

Also: braces.