commit | d9a21718f182d3c667b18b0f2c62f6ec1cd0e6dd | [log] [tgz] |
---|---|---|
author | Gregory K. Brown <gbrown@apache.org> | Wed Nov 17 12:44:53 2010 +0000 |
committer | Gregory K. Brown <gbrown@apache.org> | Wed Nov 17 12:44:53 2010 +0000 |
tree | 74a05c8866c222f7f7742723b91e8c9d191f03ba | |
parent | 6c5deca466dcf6e836a2231ce9fd9f014b02b7ea [diff] |
Support negative floating point exponent values in JSONSerializer. git-svn-id: https://svn.apache.org/repos/asf/pivot/branches/1.5.x@1036009 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/core/src/org/apache/pivot/json/JSONSerializer.java b/core/src/org/apache/pivot/json/JSONSerializer.java index f8748bf..46012af 100644 --- a/core/src/org/apache/pivot/json/JSONSerializer.java +++ b/core/src/org/apache/pivot/json/JSONSerializer.java
@@ -382,7 +382,7 @@ } while (c != -1 && (Character.isDigit(c) || c == '.' - || c == 'e' || c == 'E')) { + || c == 'e' || c == 'E' || c == '-')) { stringBuilder.append((char)c); integer &= !(c == '.'); c = reader.read();
diff --git a/core/test/org/apache/pivot/json/test/JSONSerializerTest.java b/core/test/org/apache/pivot/json/test/JSONSerializerTest.java index 8be6881..e841f68 100644 --- a/core/test/org/apache/pivot/json/test/JSONSerializerTest.java +++ b/core/test/org/apache/pivot/json/test/JSONSerializerTest.java
@@ -52,6 +52,12 @@ } @Test + public void testE() throws SerializationException { + assertEquals(5000000, JSONSerializer.parseDouble("5.0E6"), 0); + assertEquals(0.000005, JSONSerializer.parseDouble("5.0E-6"), 0); + } + + @Test public void testEquals() throws IOException, SerializationException { JSONSerializer jsonSerializer = new JSONSerializer(); Object o1 = jsonSerializer.readObject(getClass().getResourceAsStream("sample.json"));