Repository: cxf Updated Branches: refs/heads/3.0.x-fixes c9cc70be0 -> 386a6abf2
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/386a6abf Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/386a6abf Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/386a6abf Branch: refs/heads/3.0.x-fixes Commit: 386a6abf259dccc16b7ca7a01f4ee6495efdb72c Parents: c9cc70b Author: Sergey Beryozkin <sberyoz...@gmail.com> Authored: Tue Feb 23 15:17:28 2016 +0000 Committer: Sergey Beryozkin <sberyoz...@gmail.com> Committed: Tue Feb 23 15:20:15 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/386a6abf/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 1e80b70..80ad061 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/386a6abf/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")); } }