Android 获取Json Web服务的不正确响应

Android 获取Json Web服务的不正确响应,android,json,httpresponse,okhttp,Android,Json,Httpresponse,Okhttp,我正在使用okhttp库进行Json解析 我已经为我的登录Web服务创建了异步任务,如下所示: class LoginAsyncTask extends AsyncTask<Void, Void, Void> { private ProgressDialog dialog; private String mstrLoginResponse=""; @Override protected void onPreExecute() { su

我正在使用okhttp库进行Json解析

我已经为我的登录Web服务创建了异步任务,如下所示:

class LoginAsyncTask extends AsyncTask<Void, Void, Void> {
    private ProgressDialog dialog;
    private String mstrLoginResponse="";

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        try {
            dialog = new ProgressDialog(SignInActivity.this);
            dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
            dialog.setCancelable(false);
            if (!dialog.isShowing()) {
                dialog.show();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

    }

    @Override
    protected Void doInBackground(Void... params) {
        try {
            RequestBody formBody = new FormEncodingBuilder()
                    .add("mobile_number", strPhone)
                    .add("password", strPassword)
                    .build();
            mstrLoginResponse = HttpUtils.postRun("login", formBody);
            Constant.displayLogE(">>>TT : ",""+mstrLoginResponse);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(Void aVoid) {
        super.onPostExecute(aVoid);
        if (dialog.isShowing()) {
            dialog.dismiss();
        }
        if (mstrLoginResponse != null) {
            try {
                JSONObject jsonRegister = new JSONObject(mstrLoginResponse);

                int strLoginStatus = jsonRegister.getInt("status");
                String strMessage = jsonRegister.getString("message");
                if (strLoginStatus == 1) {
                    JSONObject jsonUserId = jsonRegister.getJSONObject("data");
                    String strUserId = jsonUserId.getString("user_id");
                    AppSettings.setPref(SignInActivity.this, USER_ID, String.valueOf(strUserId));
                    startActivity(new Intent(SignInActivity.this, MainActivity.class));
                    finish();
                    Constant.displayToast(SignInActivity.this, "" + strMessage);
                } else {
                    ApiUtils.showAlertDialogue(SignInActivity.this, "" + strMessage);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
可能是什么错误?请帮忙

==>>编辑:

在《邮递员》中获得正确的回复,如下所示:

{
"status": 1,
"message": "Login successful",
"data": {
    "name": "subhu",
    "mobile_number": "7777777777",
    "email": "bhargavmodi777@gmail.com",
    "user_id": "20"
}
}

您的响应-404未找到页面告诉我您的端点不存在,因为您输入的端点不正确,或者服务器根本没有运行

您发布的异常与同一问题有关,它无法解析JSON,因为web调用接收的不是application/JSON,而是原始HTML

Exeption : org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot
如上所述,公共静态字符串BASE_URL=http://temp.in/projects/temp/; 看起来像一个坏的URL。以下是我的建议:

首先在浏览器中手动加载该URL,您会注意到客户端调用收到的HTML将呈现给您。 确保您正在运行服务器/服务或响应您请求的任何服务。你说邮递员工作,你用了什么参数?你在和什么交流? 如果邮递员工作,邮递员从您的计算机上运行,我想您的计算机已连接到您的本地网络。您的Android设备也在本地网络上吗?或者您使用的是3G/LTE手机服务。如果是,则除非连接到VPN或其他设备,否则无法访问端点。
服务器在POST上需要什么数据类型?你确定它不是JSON而不是FormBody?你正在向我的post请求发送FormBody..它与你在postman和AsyncTask中使用的url相同?是的,先生,我使用相同的..你添加了postman响应。这只告诉我您的端点使用application/json进行响应。您正在发送哪些参数?你打什么网址?您在手机上执行的代码是在LTE/3G网络上还是在WIFI/ETHERNET连接上。。。请检查我的最新答案。让我添加邮递员回复。请。一分钟后检查。。我正在编辑。。
{
"status": 1,
"message": "Login successful",
"data": {
    "name": "subhu",
    "mobile_number": "7777777777",
    "email": "bhargavmodi777@gmail.com",
    "user_id": "20"
}
Exeption : org.json.JSONException: Value <!DOCTYPE of type java.lang.String cannot