我无法使用该方法中的数据。我不知道为什么。哪里出错了? 我有以下json:
{"code":"1","status":"Basarili","login":"OK","kullanici":"1"}
JSONObject veri_json;
try {
veri_json = new JSONObject(response);
try {
String code,status,login,kullanici;
code = veri_json.getString("code").toString();
status = veri_json.getString("status").toString();
login = veri_json.getString("login").toString();
kullanici = veri_json.getString("kullanici").toString();
if(code=="1") {
etKullanici.setText(status);
}
}
catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
调试器注释:
代码=" 1"登录名=" OK"状态=" Basarili" kullanici =" 1"
但不起作用
if(code=="1") {
etKullanici.setText(status);
}
我很抱歉我的英语不好。
答案 0 :(得分:2)
你的变量"代码"是一个字符串。您需要检查值而不是参考。将其更改为:
if (code.equals("1"))
答案 1 :(得分:1)
JSONObject veri_json; 尝试{ veri_json = new JSONObject(response);
try {
String code,status,login,kullanici;
code = veri_json.getString("code");
status = veri_json.getString("status");
login = veri_json.getString("login");
kullanici = veri_json.getString("kullanici");
if(code.equalsIgnoreCase("1")) {
etKullanici.setText(status);
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
在上面的代码中,我必须在获取对象数据时删除toString。你必须尝试上面的代码,它像魅力
答案 2 :(得分:1)
您必须将字符串与
进行比较String.equals()
像:
if (code.equals("1")) {...}
code ==“1”测试引用相等性(因此它永远不会返回true,因为“1”与新String(“1”)相同,它与代码不是同一个对象。