检查解析数组是否包含值 android
Check if Parse Array contain value android
我在 android 中使用 Parse。我正在尝试检查数组是否包含值 (ObjectId)。
private void getCurrentObject() {
query = ParseQuery.getQuery("Group");
query.getInBackground(objectid, new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
object = all;
if (e == null) {
if (userexists(object.getJSONArray("members_array"), currentUser.getObjectId())) {
Toast.makeText(GroupActivity.this, "isDo", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(GroupActivity.this, "isNot", Toast.LENGTH_SHORT).show();
}
}
}
});
}
private boolean userexists(JSONArray jsonArray, String usernameToFind) {
return jsonArray.toString().contains(usernameToFind);
}
虽然 运行 我收到此错误的应用程序
"java.lang.NullPointerException: Attempt to invoke virtual method
'org.json.JSONArray
com.parse.ParseObject.getJSONArray(java.lang.String)' on a null object
reference
删除此行
object = all;
或者,您的意思可能是 all = object
然后,您需要遍历 JSONArray,而不是 toString
。
private boolean userexists(JSONArray jsonArray, String usernameToFind) {
if (jsonArray == null) return false;
for (int i = 0; i < jsonArray.length(); i++) {
String s = jsonArray.optString(i, "");
if (s.equals(usernameToFind)) return true;
}
return false;
}
使用这个方法
String optString(int index, String fallback)
Returns the value at
index if it exists, coercing it if necessary.
我在 android 中使用 Parse。我正在尝试检查数组是否包含值 (ObjectId)。
private void getCurrentObject() {
query = ParseQuery.getQuery("Group");
query.getInBackground(objectid, new GetCallback<ParseObject>() {
public void done(ParseObject object, ParseException e) {
object = all;
if (e == null) {
if (userexists(object.getJSONArray("members_array"), currentUser.getObjectId())) {
Toast.makeText(GroupActivity.this, "isDo", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(GroupActivity.this, "isNot", Toast.LENGTH_SHORT).show();
}
}
}
});
}
private boolean userexists(JSONArray jsonArray, String usernameToFind) {
return jsonArray.toString().contains(usernameToFind);
}
虽然 运行 我收到此错误的应用程序
"java.lang.NullPointerException: Attempt to invoke virtual method 'org.json.JSONArray com.parse.ParseObject.getJSONArray(java.lang.String)' on a null object reference
删除此行
object = all;
或者,您的意思可能是 all = object
然后,您需要遍历 JSONArray,而不是 toString
。
private boolean userexists(JSONArray jsonArray, String usernameToFind) {
if (jsonArray == null) return false;
for (int i = 0; i < jsonArray.length(); i++) {
String s = jsonArray.optString(i, "");
if (s.equals(usernameToFind)) return true;
}
return false;
}
使用这个方法
String optString(int index, String fallback)
Returns the value at index if it exists, coercing it if necessary.