Как установить значение null с помощью org.формат JSON.JSONObject в java?
Как установить значение null с помощью org.формат JSON.JSONObject в java? Я, конечно, могу прочитать, если значение равно 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
2 ответа:
попробуйте установить
JSONObject.NULL
вместоnull
:значение sentinel, используемое для явного определения имени без значения. В отличие от null, имена с этим значением:
- показать в массиве имен ()
- показать в keys () iterator
- возвращает true для has (String)
- не бросайте на get (String)
- включены в кодированную строку JSON.
это значение нарушает общий контракт equals (Object), возвращая true по сравнению с null. Его метод toString () возвращает значение "null".
С net.научная фантастика.формат JSON.JSONObject мне нужно создать null
JSON
bynew JSONObject(true)
вот как я получаю класс в groovy:
groovy.grape.Grape.grab(group: "org.kohsuke.stapler", module: "json-lib", version: "2.4-jenkins-2")