From f4ffe411993b7b3bb783ae98dfb97834e371592b Mon Sep 17 00:00:00 2001 From: Yasser Aziza Date: Wed, 1 Nov 2017 15:15:34 +0100 Subject: [PATCH] Enables distinction between Double and Integer when auto parsing --- .../com/google/gson/internal/bind/ObjectTypeAdapter.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java b/gson/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java index ec42e04826..46cb994e33 100644 --- a/gson/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java +++ b/gson/src/main/java/com/google/gson/internal/bind/ObjectTypeAdapter.java @@ -76,7 +76,11 @@ public final class ObjectTypeAdapter extends TypeAdapter { return in.nextString(); case NUMBER: - return in.nextDouble(); + String n = in.nextString(); + if (n.indexOf('.') != -1) { + return Double.parseDouble(n); + } + return Long.parseLong(n); case BOOLEAN: return in.nextBoolean();