diff --git a/src/main/java/org/json/JSONObject.java b/src/main/java/org/json/JSONObject.java
index 73835d4..a1664f7 100644
--- a/src/main/java/org/json/JSONObject.java
+++ b/src/main/java/org/json/JSONObject.java
@@ -332,7 +332,7 @@ public class JSONObject {
throw new NullPointerException("Null key.");
}
final Object value = e.getValue();
- if (value != null || jsonParserConfiguration.isJavaNullAsJsonNull()) {
+ if (value != null || jsonParserConfiguration.isUseNativeNulls()) {
testValidity(value);
this.map.put(String.valueOf(e.getKey()), wrap(value, recursionDepth + 1, jsonParserConfiguration));
}
diff --git a/src/main/java/org/json/JSONParserConfiguration.java b/src/main/java/org/json/JSONParserConfiguration.java
index 58d080f..550eedf 100644
--- a/src/main/java/org/json/JSONParserConfiguration.java
+++ b/src/main/java/org/json/JSONParserConfiguration.java
@@ -10,9 +10,9 @@ public class JSONParserConfiguration extends ParserConfiguration {
private boolean overwriteDuplicateKey;
/**
- * Used to indicate whether ignore null values when converting java maps to JSONObject or not.
+ * Used to indicate whether to convert java null values to JSONObject.NULL or ignoring the entry when converting java maps.
*/
- private boolean javaNullAsJsonNull;
+ private boolean useNativeNulls;
/**
* Configuration with the default values.
@@ -74,16 +74,16 @@ public class JSONParserConfiguration extends ParserConfiguration {
}
/**
- * Controls the parser's behavior when meeting duplicate keys.
- * If set to false, the parser will throw a JSONException when meeting a duplicate key.
- * Or the duplicate key's value will be overwritten.
+ * Controls the parser's behavior when meeting Java null values while converting maps.
+ * If set to true, the parser will put a JSONObject.NULL into the resulting JSONObject.
+ * Or the map entry will be ignored.
*
- * @param javaNullAsJsonNull define, if the parser should ignore null values in Java maps
+ * @param useNativeNulls defines if the parser should convert null values in Java maps
* @return The existing configuration will not be modified. A new configuration is returned.
*/
- public JSONParserConfiguration withJavaNullAsJsonNull(final boolean javaNullAsJsonNull) {
+ public JSONParserConfiguration withUseNativeNulls(final boolean useNativeNulls) {
JSONParserConfiguration clone = this.clone();
- clone.javaNullAsJsonNull = javaNullAsJsonNull;
+ clone.useNativeNulls = useNativeNulls;
return clone;
}
@@ -128,13 +128,14 @@ public class JSONParserConfiguration extends ParserConfiguration {
}
/**
- * The parser's behavior when meeting a null value in a java map, controls whether the parser should ignore
- * that map entry or write a JSON entry with a null value.
+ * The parser's behavior when meeting a null value in a java map, controls whether the parser should
+ * write a JSON entry with a null value (isUseNativeNulls() == true
)
+ * or ignore that map entry (isUseNativeNulls() == false
).
*
- * @return The javaNullAsJsonNull
configuration value.
+ * @return The useNativeNulls
configuration value.
*/
- public boolean isJavaNullAsJsonNull() {
- return this.javaNullAsJsonNull;
+ public boolean isUseNativeNulls() {
+ return this.useNativeNulls;
}
diff --git a/src/test/java/org/json/junit/JSONArrayTest.java b/src/test/java/org/json/junit/JSONArrayTest.java
index 12ef3b9..4296203 100644
--- a/src/test/java/org/json/junit/JSONArrayTest.java
+++ b/src/test/java/org/json/junit/JSONArrayTest.java
@@ -235,7 +235,7 @@ public class JSONArrayTest {
Map sub = new HashMap();
sub.put("nullKey", null);
list.add(sub);
- JSONParserConfiguration parserConfiguration = new JSONParserConfiguration().withJavaNullAsJsonNull(true);
+ JSONParserConfiguration parserConfiguration = new JSONParserConfiguration().withUseNativeNulls(true);
JSONArray jsonArray = new JSONArray(list, parserConfiguration);
JSONObject subObject = jsonArray.getJSONObject(0);
assertTrue(subObject.has("nullKey"));
diff --git a/src/test/java/org/json/junit/JSONObjectTest.java b/src/test/java/org/json/junit/JSONObjectTest.java
index 5762ea7..9d9ef8f 100644
--- a/src/test/java/org/json/junit/JSONObjectTest.java
+++ b/src/test/java/org/json/junit/JSONObjectTest.java
@@ -627,7 +627,7 @@ public class JSONObjectTest {
assertTrue("expected null value to be ignored by default", obj1.isEmpty());
// if configured, null values are written as such into the JSONObject.
- JSONParserConfiguration parserConfiguration = new JSONParserConfiguration().withJavaNullAsJsonNull(true);
+ JSONParserConfiguration parserConfiguration = new JSONParserConfiguration().withUseNativeNulls(true);
JSONObject obj2 = new JSONObject(map, parserConfiguration);
assertFalse("expected null value to accepted when configured", obj2.isEmpty());
assertTrue(obj2.has("nullKey"));
@@ -644,7 +644,7 @@ public class JSONObjectTest {
nestedList.add(nestedMap);
map.put("nestedList", nestedList);
- JSONParserConfiguration parserConfiguration = new JSONParserConfiguration().withJavaNullAsJsonNull(true);
+ JSONParserConfiguration parserConfiguration = new JSONParserConfiguration().withUseNativeNulls(true);
JSONObject jsonObject = new JSONObject(map, parserConfiguration);
JSONObject nestedObject = jsonObject.getJSONObject("nestedMap");