从jsonObject.getString("firstName");
传递到firstNameValidateUser
的值为null
,因为它没有任何值,我需要运行包含String firstName=jsonObject.getString("firstName");....
的以下代码当returnedUser = new User(firstName, lastName, user.userName, user.password, birthDate, position,qualification,email);
的值为firstNameValidateUser
时,null
。我如何检查它,我使用if
条件来检查firstNameValidateUser
是否null
,但是从输出看起来它似乎正在反过来。我的if
条件有问题,或者如果我有任何其他错误,请通知我..请帮我解决这个问题。提前谢谢。
firstNameValidateUser=jsonObject.getString("firstName");
// if there are no details are send through the JSON object,
Log.e("jsonObjectlength",jsonObject.length()+"");
Log.e("firstName",firstNameValidateUser);
String usedToCheck=null;
if (firstNameValidateUser!=null && !firstNameValidateUser.isEmpty()) {
Log.e("firstName","firstName is not null");
String firstName = jsonObject.getString("firstName");
String lastName = jsonObject.getString("lastName");
//String username=jsonObject.getString("username");
//String password=jsonObject.getString("password");
String position=jsonObject.getString("position");
String qualification=jsonObject.getString("qualification");
String birthDate=jsonObject.getString("birthDate");
String email=jsonObject.getString("email");
returnedUser = new User(firstName, lastName, user.userName, user.password, birthDate, position,qualification,email);
//values are sent to the returnedUser Object
} else {
Log.e("is Empty","firstName is null");
returnedUser = null;
}
答案 0 :(得分:0)
错误的条件:
尝试:
if (firstNameValidateUser!=null || !firstNameValidateUser.isEmpty()) {
// Rest of your code.
}
原因:
True && True == True
True && False == False
因此,从第二种情况来看,如果第二个值为False,则不会输入if条件。
答案 1 :(得分:0)
所以在代码编辑之后它看起来很好,但是如果错误仍然存在,那么我建议你检查以下行是否实际上返回了什么。
firstNameValidateUser=jsonObject.getString("firstName");
(只需让它显示在控制台中使用:console.log()
)
如果没有返回任何问题,那么问题可能在于检索字符串的代码或设置字符串的代码。
答案 2 :(得分:0)
最简单的检查方法是使用本机API
if (jsonObject.isNull("firstName")) {
Log.e("is Empty","firstName is null");
} else {
Log.e("firstName","firstName is not null");
}
请参阅android API http://developer.android.com/reference/org/json/JSONObject.html#isNull(java.lang.String)