/** * Like {@link #getValue(String)} but specifies a default value to return if there is no entry. */ public <T> T getValue(final String key, final T def) { T val = getValue(key); if (val == null) { if (map.containsKey(key)) { return null; } return def; } return val; }
assertEquals(123, jsonObject.getValue("foo", "blah")); assertEquals((Integer)123, jsonObject.getValue("foo", null)); jsonObject.put("foo", 123L); assertEquals(123L, jsonObject.getValue("foo", "blah")); assertEquals((Long) 123L, jsonObject.getValue("foo", null)); jsonObject.put("foo", 123f); assertEquals(123f, jsonObject.getValue("foo", "blah")); assertEquals((Float)123f, jsonObject.getValue("foo", null)); jsonObject.put("foo", 123d); assertEquals(123d, jsonObject.getValue("foo", "blah")); assertEquals((Double)123d, jsonObject.getValue("foo", null)); jsonObject.put("foo", false); assertEquals(false, jsonObject.getValue("foo", "blah")); assertEquals(false, jsonObject.getValue("foo", null)); jsonObject.put("foo", true); assertEquals(true, jsonObject.getValue("foo", "blah")); assertEquals(true, jsonObject.getValue("foo", null)); jsonObject.put("foo", "bar"); assertEquals("bar", jsonObject.getValue("foo", "blah")); assertEquals("bar", jsonObject.getValue("foo", null)); JsonObject obj = new JsonObject().put("blah", "wibble"); jsonObject.put("foo", obj); assertEquals(obj, jsonObject.getValue("foo", "blah")); assertEquals(obj, jsonObject.getValue("foo", null)); JsonArray arr = new JsonArray().add("blah").add("wibble"); jsonObject.put("foo", arr); assertEquals(arr, jsonObject.getValue("foo", "blah")); assertEquals(arr, jsonObject.getValue("foo", null)); byte[] bytes = randomByteArray(100);
assertEquals((Integer) 123, jsonObject.getValue("foo")); jsonObject.put("foo", 123L); assertEquals((Long) 123L, jsonObject.getValue("foo")); jsonObject.put("foo", 123f); assertEquals(123f, jsonObject.getValue("foo"), 0.01f); jsonObject.put("foo", 123d); assertEquals(123d, jsonObject.getValue("foo"), 0.01d); jsonObject.put("foo", false); assertEquals(false, jsonObject.getValue("foo")); jsonObject.put("foo", true); assertEquals(true, jsonObject.getValue("foo")); jsonObject.put("foo", "bar"); assertEquals("bar", jsonObject.getValue("foo")); JsonObject obj = new JsonObject().put("blah", "wibble"); jsonObject.put("foo", obj); assertEquals(obj, jsonObject.getValue("foo")); JsonArray arr = new JsonArray().add("blah").add("wibble"); jsonObject.put("foo", arr); assertEquals(arr, jsonObject.getValue("foo")); byte[] bytes = randomByteArray(100); jsonObject.put("foo", bytes); assertArrayEquals(bytes, Base64.getDecoder().decode((String) jsonObject.getValue("foo"))); jsonObject.putNull("foo"); assertNull(jsonObject.getValue("foo")); assertNull(jsonObject.getValue("absent")); map.put("foo", innerMap); jsonObject = new JsonObject(map); obj = jsonObject.getValue("foo");
@Test void testClear() { JsonObject jsonObject = new JsonObject(); jsonObject.put("foo", "bar"); jsonObject.put("quux", 123); assertEquals(2, jsonObject.size()); jsonObject.clear(); assertEquals(0, jsonObject.size()); assertNull(jsonObject.getValue("foo")); assertNull(jsonObject.getValue("quux")); }
@Test void testRemove() { JsonObject jsonObject = new JsonObject(); jsonObject.put("mystr", "bar"); jsonObject.put("myint", 123); assertEquals("bar", jsonObject.remove("mystr")); assertNull(jsonObject.getValue("mystr")); assertEquals(123, jsonObject.remove("myint")); assertNull(jsonObject.getValue("myint")); assertTrue(jsonObject.isEmpty()); }