let JSON parser support subclass of JSONObject

If the struct of JSON is known, we can use `TypeReference`. Otherwise, all the map will be converted to `JSONObject`, even a subclass of `JSONObject` is requested. This patch check the parameter, and let the parser returns the subclass of `JSONObject` if needed.

如果`JSON`的格式是已知的话，我们可以定义相应的类，然后使用`TypeReference`。否则，所有的对象将会被转换成`JSONObject`，即使是期望返回`JSONObject`的子类。这个补丁检查参数，如果需要的话允许解析器返回`JSONObject`的子类。