我想使用改型来检索一些数据,但是我有奇怪的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有效,但是我无法解析它。我在哪里以及如何修改它,删除括号?谢谢
答案 0 :(得分:0)
我以前有同样的问题。
当然,解决问题的最佳方法是要求后端团队消除响应中的括号,但是如果您没有后端创建者的访问权限,这是另一种解决方法:
我所做的是接受格式错误的JSON作为String并删除第一个和最后一个括号 然后将其重新转换为JSONObject并使用Gson进行解析。
您也可以将此作为Object类型接受,并通过一些变通办法可以提取JSONObject。