android开发的新手是使用volley制作简单的登录应用程序,并从服务器获取json响应,如下所示:

json响应:-

 {"loginResult":"{\"UserLoginID\":864,\"UserID\":864,\"EmployeeCode\":\"PI4264\",\"Password\":\"XXXX\",\"IsPasswordChanged\":false,\"ModuleName\":\"XXX\",\"ModuleID\":1,\"EmployeeName\":\"XXXX  \"}"}


当我尝试解析此jsonobect时得到:

到目前为止,我尝试尝试的是19 jsonexception处的未终止对象

 String resp = response.toString().replaceAll("\\\\", "");

                    try {
                        JSONObject yog = new JSONObject(resp);
                        int yogs=yog.getInt("UserID");
                        Toast.makeText(getApplicationContext(), resp, Toast.LENGTH_SHORT).show();

                    } catch (JSONException e) {
                        e.printStackTrace();
                    }


不知道哪里出错了,有人能教我我做对了!!!

最佳答案

您正在进行不必要的字符串清理。
只需删除replaceAll命令。并使用以下代码:

try {
    JSONObject yog = new JSONObject(response);
    JSONObject loginObject = new JSONObject(yog.getString("loginResult"));
    int yogs=loginObject.getInt("UserID");
    System.out.println(yogs);
    }
catch (JSONException e) {
    e.printStackTrace();
}


之后应该可以正常工作。

07-28 04:40