我收到一个错误org。 json.JSONException:字符0的输入结束 这是我的代码:-
JSONObject jObjError = new JSONObject(response.errorBody().string());
Log.e("Error","::"+jObjError.getString("error_codes"));
这是我的JSON
{
"errors":{
"provider":["already has an appointment scheduled at this time."]
},
"error_codes":["provider_unavailable"]
}
有人可以帮我吗
答案 0 :(得分:0)
这里的关键点是您试图从数组而不是直接从对象中获取字符串。解析此错误的正确方法是:
JSONObject jObjError = new JSONObject(response.errorBody().string());
JSONArray errorArray = jObjError.optJSONArray("error_codes");
for(int i = 0;i<errorArray.size;i++) {
Log.e("Error","::"+errorArray.get(i));
}
答案 1 :(得分:0)
如果response
是返回的JSON,则应直接将其作为参数,因为它的类型为String
JSONObject jo=new JSONObject(response);
,然后执行其他任何操作。因为您的错误消息是自定义的,并以json字符串形式返回,所以这被解释为带有自定义消息的成功请求。