[英]unhandeled exception org.json.JSONObject
我正在使用Retrofit库发出httpClient发布请求,但是当我尝试使用以下方法将响应传递给JSONObject时,我无法将响应正文传递给JSONObject构造函数:
org.json.JSONObject Jobject = new org.json.JSONObject(jsonData);
我有以下异常:
未处理的异常org.json.JSONObject
我的代码:
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if(response.isSuccessful()){
String jsonData = response.body().toString();
JSONObject Jobject = new JSONObject(jsonData);
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
display_message.setText(t.toString());
}
});
以下语句的预期返回值:
String jsonData = response.body().source().toString();
是: {"is_new_user":true,"messing_user_data["mobile_number","country_code","password","pin"]}
但是确切的返回结果是:
[size=90 text={"is_new_user":true,"messing_user_data":["mobile_number","countr…]
任何想法都可以帮助我。
你应该包围你的
JSONObject Jobject = new JSONObject(jsonData);
带try-catch块
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
if(response.isSuccessful()){
String jsonData = response.body().toString();
try {
JSONObject Jobject = new JSONObject(jsonData);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
display_message.setText(t.toString());
}
});
并尝试检查您的json字符串是否具有所需的正确格式
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.