java - jsonobject 第 19 行有未终止的对象?

标签 java android json

我是 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();
                    }

不知道我在哪里犯了错误,有人可以教我我这样做的方法是否正确!!!

最佳答案

您应该将代码更改为:

String resp = response.toString().replaceAll("\\\\", "");
                    try {
                        JSONObject yog = new JSONObject(resp);
                        JSONObject loginObject = new JSONObject(yog.getString("loginResult")); 
                        int yogs=loginObject.getInt("UserID");
                        Toast.makeText(getApplicationContext(), resp, Toast.LENGTH_SHORT).show();

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

我执行了代码,没有收到错误:

JSONObject yog = new JSONObject("{\"loginResult\":\"{\\\"UserLoginID\\\":864,\\\"UserID\\\":864,\\\"EmployeeCode\\\":\\\"PI4264\\\"," +
                        "\\\"Password\\\":\\\"XXXX\\\",\\\"IsPasswordChanged\\\":false,\\\"ModuleName\\\":\\\"XXX\\\",\\\"ModuleID\\\":1,\\\"EmployeeName\\\":\\\"XXXX " +
                        "\\\"}\"}");
JSONObject loginObject = new JSONObject(yog.getString("loginResult"));
int yogs=loginObject.getInt("UserID");
Toast.makeText(getApplicationContext(), String.valueOf(yogs), Toast.LENGTH_SHORT).show();

关于java - jsonobject 第 19 行有未终止的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35149989/

相关文章:

java - 第一个数据库桌面应用程序

java - HttpServletResponse、addCookie() 的行为不符合预期

java - 如何随机播放和播放阵列中的音频文件

java - Android实现两个位置之间的距离,Place类

javascript - 为什么 [object Object] 提到 "object"两次?

java - Spring Boot - 请求映射不接受尾部斜杠或多个目录

android - notifyItemInserted 贵吗

android - AndEngine - 注销然后注册所有场景的触摸区域

javascript - 如何使用从同一文件获取的文字访问 JSON 文件中的对象属性

javascript - 如何仅解析 JSON 中的某些属性和值