如何在Java中使用org.json.JSONObject将值设置为null?

如何在Java中使用org.json.JSONObject将值设置为null?我肯定可以通过使用isNull来读取值是否为null,但是当我将其设置为null时,它只会忽略我:

JSONObject o = new JSONObject();

o.put("key",null);

o.isNull("key"); // returns true, buuuut...

o.has("key"); // returns false

o.isNull("somethingIHaventSetAtAll"); // also returns true, unfortunately

回答:

尝试设置JSONObject.NULL而不是null

用于明确定义没有值的名称的哨兵值。与null不同,具有以下值的名称:

  • 显示在names()数组中
  • 出现在keys()迭代器中
  • 为has(String)返回true
  • 不要抛出get(String)
  • 包含在编码的JSON字符串中。

与null相比,此值返回true违反了equals(Object)的一般协定。其toString()方法返回“ null”。

以上是 如何在Java中使用org.json.JSONObject将值设置为null? 的全部内容, 来源链接: utcz.com/qa/414444.html

回到顶部