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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (46)

在Java中,如何将org.json.JSONObject的值设置为null?当然,我可以通过使用isNull来读取值是否为空值 - 但它看起来像是当我放置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()迭代器中
  • 返回true为has(String)
  • 不要扔(get)(String)
  • 包含在编码的JSON字符串中。

此值与null相比通过返回true来违反equals(Object)的常规合约。它的toString()方法返回“null”。

扫码关注云+社区