You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@johnzon.apache.org by st...@apache.org on 2019/08/19 14:55:54 UTC

[johnzon] branch master updated: JOHNZON-265 improve handling of JsonLongNumbers

This is an automated email from the ASF dual-hosted git repository.

struberg pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/johnzon.git


The following commit(s) were added to refs/heads/master by this push:
     new 141de40  JOHNZON-265 improve handling of JsonLongNumbers
141de40 is described below

commit 141de40745c65e519c1415769d5e735b957553e9
Author: Mark Struberg <st...@apache.org>
AuthorDate: Mon Aug 19 16:52:52 2019 +0200

    JOHNZON-265 improve handling of JsonLongNumbers
---
 .../src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java    | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java
index 13a062c..852aa2e 100644
--- a/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java
+++ b/johnzon-core/src/main/java/org/apache/johnzon/core/JsonGeneratorImpl.java
@@ -259,7 +259,11 @@ class JsonGeneratorImpl implements JsonGenerator, JsonChars, Serializable {
                 break;
             case NUMBER:
                 final JsonNumber number = JsonNumber.class.cast(value);
-                write(number.bigDecimalValue());
+                if (number instanceof JsonLongImpl) {
+                    write(number.longValueExact());
+                } else {
+                    write(number.bigDecimalValue());
+                }
                 break;
             case TRUE:
                 write(true);