Repository: cxf Updated Branches: refs/heads/3.1.x-fixes 90cbb21a4 -> 28e1d781c
Update basic JSON parser to handle null values Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/28e1d781 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/28e1d781 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/28e1d781 Branch: refs/heads/3.1.x-fixes Commit: 28e1d781cb0c81b9cb2573e2178a1609094f8690 Parents: 90cbb21 Author: Sergey Beryozkin <[email protected]> Authored: Tue Feb 23 15:17:28 2016 +0000 Committer: Sergey Beryozkin <[email protected]> Committed: Tue Feb 23 15:19:17 2016 +0000 ---------------------------------------------------------------------- .../apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java | 3 +++ .../cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/28e1d781/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java ---------------------------------------------------------------------- diff --git a/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java b/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java index a6d11b9..4595444 100644 --- a/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java +++ b/rt/rs/extensions/json-basic/src/main/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriter.java @@ -35,6 +35,7 @@ import org.apache.cxf.helpers.IOUtils; public class JsonMapObjectReaderWriter { + private static final String NULL_VALUE = "null"; private boolean format; public JsonMapObjectReaderWriter() { @@ -219,6 +220,8 @@ public class JsonMapObjectReaderWriter { value = valueStr.substring(1, valueStr.length() - 1); } else if ("true".equals(valueStr) || "false".equals(valueStr)) { value = Boolean.valueOf(valueStr); + } else if (NULL_VALUE.equals(valueStr)) { + return null; } else { try { value = Long.valueOf(valueStr); http://git-wip-us.apache.org/repos/asf/cxf/blob/28e1d781/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java ---------------------------------------------------------------------- diff --git a/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java b/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java index fc9dfee..5a20475 100644 --- a/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java +++ b/rt/rs/extensions/json-basic/src/test/java/org/apache/cxf/jaxrs/json/basic/JsonMapObjectReaderWriterTest.java @@ -40,11 +40,12 @@ public class JsonMapObjectReaderWriterTest extends Assert { } @Test public void testReadMap() throws Exception { - String json = "{\"a\":\"aValue\",\"b\":123,\"c\":[\"cValue\"]}"; + String json = "{\"a\":\"aValue\",\"b\":123,\"c\":[\"cValue\"],\"f\":null}"; Map<String, Object> map = new JsonMapObjectReaderWriter().fromJson(json); - assertEquals(3, map.size()); + assertEquals(4, map.size()); assertEquals("aValue", map.get("a")); assertEquals(123L, map.get("b")); assertEquals(Collections.singletonList("cValue"), map.get("c")); + assertNull(map.get("f")); } }
