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();
}
之后应该可以正常工作。