diff --git a/gson/src/main/java/com/google/gson/JsonParser.java b/gson/src/main/java/com/google/gson/JsonParser.java index 4e706a9b..d8e5c16b 100755 --- a/gson/src/main/java/com/google/gson/JsonParser.java +++ b/gson/src/main/java/com/google/gson/JsonParser.java @@ -63,7 +63,7 @@ public final class JsonParser { throw new JsonParseException("Failed parsing JSON source: " + json + " to Json", e); } catch (JsonParseException e) { if (e.getCause() instanceof EOFException) { - return null; + return JsonNull.createJsonNull(); } else { throw e; } diff --git a/gson/src/test/java/com/google/gson/JsonParserTest.java b/gson/src/test/java/com/google/gson/JsonParserTest.java index b4537520..a756c94f 100644 --- a/gson/src/test/java/com/google/gson/JsonParserTest.java +++ b/gson/src/test/java/com/google/gson/JsonParserTest.java @@ -46,6 +46,17 @@ public class JsonParserTest extends TestCase { assertEquals(10, e.getAsJsonObject().get("a").getAsInt()); assertEquals("c", e.getAsJsonObject().get("b").getAsString()); } + + public void testParseEmptyString() { + JsonElement e = parser.parse("\" \""); + assertTrue(e.isJsonPrimitive()); + assertEquals(" ", e.getAsString()); + } + + public void testParseEmptyWhitespaceInput() { + JsonElement e = parser.parse(" "); + assertTrue(e.isJsonNull()); + } public void testParseReader() { StringReader reader = new StringReader("{a:10,b:'c'}");