使用翻新解析JSON

时间:2018-08-12 12:52:32

标签: android json retrofit jsonp

我想使用改型来检索一些数据,但是我有奇怪的API。我的JSON以方括号开头。像这样:

({"widget": {
    "debug": "on",
    "window": {
        "title": "Sample Konfabulator Widget",
        "name": "main_window",
        "width": 500,
        "height": 500
    }});

我正在使用Retrofit,当我尝试致电call.enqueue(new Callback<Response>()时,我无法得到回复。我当然有

的错误

public void onFailure(Call<Response> call, Throwable t) { Log.d("Error", t.getMessage());

D/Error: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $

这是因为我的JSON有效,但是我无法解析它。我在哪里以及如何修改它,删除括号?谢谢

1 个答案:

答案 0 :(得分:0)

我以前有同样的问题。

当然,解决问题的最佳方法是要求后端团队消除响应中的括号,但是如果您没有后端创建者的访问权限,这是另一种解决方法:

我所做的是接受格式错误的JSON作为String并删除第一个和最后一个括号 然后将其重新转换为JSONObject并使用Gson进行解析。

您也可以将此作为Object类型接受,并通过一些变通办法可以提取JSONObject。