在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
发布于 2018-06-22 00:58:35
对于我使用net.sf.json.JSONObject,我需要通过以下方式创建一个空JSON
new JSONObject(true)
这就是我将class放入groovy的方法:
groovy.grape.Grape.grab(group: "org.kohsuke.stapler", module: "json-lib", version: "2.4-jenkins-2")
发布于 2021-01-22 20:04:08
我创建了这个项目https://github.com/leonardofel/JSON-java-put-null-fix
要更改(或修复),只需将库导入到您的pom.xml
以下是代码的行为方式:
JSONObject o = new JSONObject();
o.put("key", null);
o.isNull("key"); // returns true
o.has("key"); // returns true
o.isNull("somethingIHaventSetAtAll"); // returns true
o.get("key"); // returns null
o.remove("key");
o.isNull("key"); // returns true
o.has("key"); // returns false
o.isNull("somethingIHaventSetAtAll"); // returns true
o.get("key"); // throws JSONException "key" not found
https://stackoverflow.com/questions/13613754
复制相似问题