Comment définissez-vous la valeur null avec org.json.JSONObject en java? Je peux certainement lire si une valeur est nulle en utilisant isNull - mais il semble que lorsque je mets null, cela m'ignore:
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
Essayez de définir JSONObject.NULL
au lieu de null
:
Une valeur sentinel utilisée pour définir explicitement un nom sans valeur. Contrairement à null, les noms avec cette valeur:
- afficher dans le tableau names ()
- afficher dans l'itérateur de clés ()
- renvoie true pour has (String)
- ne pas jeter sur get (String)
- sont inclus dans la chaîne JSON codée.
Cette valeur viole le contrat général d'égal à égal (Object) en renvoyant la valeur true à null. Sa méthode toString () renvoie "null".
Pour moi avec net.sf.json.JSONObject je dois créer un null JSON
par
new JSONObject(true)
C'est comme ça que je me classe en groovy:
groovy.grape.Grape.grab(group: "org.kohsuke.stapler", module: "json-lib", version: "2.4-jenkins-2")