如何在解析中清除/将值设置为 null/undefined
How to clear/ set a value to null/undefined in parse
我的 Parse class 中有 3 列,FOOD1、FOOD2 和 FOOD3。
如果用户选择他们喜欢的 0、1、2 或 3 种食物,它是可选的,我将食物保存在这些列中。将重复此过程。
对于每个循环,我想在 null/undefined 上设置所有这些字段,这样我就可以简单地查看他们在选择后是否选择了某些内容。
但是当其中一个字段例如。 FOOD1填入数据库,我无法清除它的值
我试过了:
final ParseQuery queryusername = ParseQuery.getQuery("Usernames");
queryusername.whereContains("names",db.getUsername());
try {
ParseObject p = queryusername.getFirst();
System.out.println("parseobject:"+p);
//make fields empty
p.put("Food1",null); //Error
p.put("Food2",null);
p.put("Food3",null);
}catch(){}
错误是:
java.lang.IllegalArgumentException: value may not be null.
如何清除字段?
Parse object 提供 remove()。将要删除的密钥传递给它,例如
p.remove("Food1");
p.remove("Food2");
p.remove("Food3");
Parse SDK 似乎检查了 null。
来自 source
/**
* Add a key-value pair to this object. It is recommended to name keys in
* <code>camelCaseLikeThis</code>.
*
* @param key
* Keys must be alphanumerical plus underscore, and start with a letter.
* @param value
* Values may be numerical, {@link String}, {@link JSONObject}, {@link JSONArray},
* {@link JSONObject#NULL}, or other {@code ParseObject}s. value may not be {@code null}.
*/
为什么要设置为NULL?你总是可以使用空 String 或一些常量 integer 或最后 JSONObject.NULL。
或者像@danh
的回答一样使用 p.remove
https://whosebug.com/users/294949/danh 的答案有效。您必须保存对象:
p.remove("Food1");
p.remove("Food2");
p.remove("Food3");
try {
p.save();
}
catch (ParseException e) {
}
我的 Parse class 中有 3 列,FOOD1、FOOD2 和 FOOD3。 如果用户选择他们喜欢的 0、1、2 或 3 种食物,它是可选的,我将食物保存在这些列中。将重复此过程。
对于每个循环,我想在 null/undefined 上设置所有这些字段,这样我就可以简单地查看他们在选择后是否选择了某些内容。 但是当其中一个字段例如。 FOOD1填入数据库,我无法清除它的值
我试过了:
final ParseQuery queryusername = ParseQuery.getQuery("Usernames");
queryusername.whereContains("names",db.getUsername());
try {
ParseObject p = queryusername.getFirst();
System.out.println("parseobject:"+p);
//make fields empty
p.put("Food1",null); //Error
p.put("Food2",null);
p.put("Food3",null);
}catch(){}
错误是:
java.lang.IllegalArgumentException: value may not be null.
如何清除字段?
Parse object 提供 remove()。将要删除的密钥传递给它,例如
p.remove("Food1");
p.remove("Food2");
p.remove("Food3");
Parse SDK 似乎检查了 null。 来自 source
/**
* Add a key-value pair to this object. It is recommended to name keys in
* <code>camelCaseLikeThis</code>.
*
* @param key
* Keys must be alphanumerical plus underscore, and start with a letter.
* @param value
* Values may be numerical, {@link String}, {@link JSONObject}, {@link JSONArray},
* {@link JSONObject#NULL}, or other {@code ParseObject}s. value may not be {@code null}.
*/
为什么要设置为NULL?你总是可以使用空 String 或一些常量 integer 或最后 JSONObject.NULL。 或者像@danh
的回答一样使用 p.removehttps://whosebug.com/users/294949/danh 的答案有效。您必须保存对象:
p.remove("Food1");
p.remove("Food2");
p.remove("Food3");
try {
p.save();
}
catch (ParseException e) {
}