我一直关注tutorial(老实说,我是复制粘贴,因此我不知道为什么它不起作用,因为我没有改变一件事)我有这个String响应,我需要转换为Json对象。
响应=
CONFIG.PHP \ r \ N { “错误”:假, “用户”:{ “名称”: “测试”, “姓”: “测试”, “地址”: “测试”, “电子邮件”: “测试”}}
在try
JSONObject jObj = new JSONObject(response);
之后我的程序跳转到异常,并显示一条消息:
方法抛出'java.lang.NullPointerException'异常。不能 评估org.json.JSONObject.toString()
是response
或其他什么的结构吗?
这是我使用它的地方:
@Override
public void onResponse(String response) {
Log.d(TAG, "Login Response: " + response.toString());
hideDialog();
try {
JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");
// Check for error node in json
if (!error) {
// user successfully logged in
// Create login session
session.setLogin(true);
// Now store the user in SQLite
JSONObject user = jObj.getJSONObject("user");
String name = user.getString("name");
String surname = user.getString("surname");
String address = user.getString("address");
String email = user.getString("email");
// Inserting row in users table
db.addUser(name, surname, address, email);
// Launch main activity
Intent intent = new Intent(LoginScreen.this,
MainMenu.class);
startActivity(intent);
finish();
} else {
// Error in login. Get the error message
String errorMsg = jObj.getString("error_msg");
Toast.makeText(getApplicationContext(),
errorMsg, Toast.LENGTH_LONG).show();
}
} catch (JSONException e) {
// JSON error
e.printStackTrace();
Toast.makeText(getApplicationContext(), "Json error: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
答案 0 :(得分:0)
在将响应转换为JSON对象之前,从响应中删除Config.php\r\n
前缀。
答案 1 :(得分:0)