The whole JSON handling was replaced in my case with GSON as the built in stuff was so poor.
Perhaps removing all of the specific JSONArray, JSONObject etc. methods and passing the pure Object up would make it cleaner. Then the user can decide what to do.

Also, parsing JSON on a failure seems an odd thing to do. I will submit a suggestion PR later.