JSON 正在解析错误正文(JSON 异常)org 。 json.JSONException: 在字符 0 输入结束
JSON Parsing on error body (JSON Exception) org . json.JSONException: End of input at character 0
我收到一个错误 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"]
}
谁能帮我解决这个问题
这里的关键点是您试图从数组中获取字符串,而不是直接从对象中获取。正确的解析方式是:
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));
}
如果 response
是您返回的 JSON,您应该直接将其作为参数传递,因为它的类型是 String
JSONObject jo=new JSONObject(response);
然后再做其他事情。因为您的错误消息是自定义的并作为 json 字符串返回,所以这被解释为带有自定义消息的成功请求。
我收到一个错误 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"]
}
谁能帮我解决这个问题
这里的关键点是您试图从数组中获取字符串,而不是直接从对象中获取。正确的解析方式是:
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));
}
如果 response
是您返回的 JSON,您应该直接将其作为参数传递,因为它的类型是 String
JSONObject jo=new JSONObject(response);
然后再做其他事情。因为您的错误消息是自定义的并作为 json 字符串返回,所以这被解释为带有自定义消息的成功请求。