如何设置一个值为null与java中的org.json.JSONObject?
如何设置一个值为null与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
:
一个sentinel值用于明确定义一个没有值的名字。 与null不同,具有此值的名称:
- 显示在names()数组中
- 显示在keys()迭代器中
- 返回true为has(String)
- 不要扔(get)(String)
- 包含在编码的JSONstring中。
这个值通过与null比较而返回true来违反equals(Object)的一般合约。 它的toString()方法返回“null”。