diff --git a/duniter4j-core-shared/src/main/java/org/duniter/core/util/json/JsonAttributeParser.java b/duniter4j-core-shared/src/main/java/org/duniter/core/util/json/JsonAttributeParser.java
index 14febc43184c510816cbb6230a9f2866e5ad120a..87914dba5a305b71f336f8f695f1140e5900d73a 100644
--- a/duniter4j-core-shared/src/main/java/org/duniter/core/util/json/JsonAttributeParser.java
+++ b/duniter4j-core-shared/src/main/java/org/duniter/core/util/json/JsonAttributeParser.java
@@ -178,16 +178,16 @@ public class JsonAttributeParser<T extends Object> {
                 return (T)attributeValue;
             case INTEGER:
                 try {
-                    Number result = decimalFormat.parse(attributeValue);
-                    return (T)new Integer(result.intValue());
-                } catch (ParseException e) {
+                    int result = Integer.parseInt(attributeValue);
+                    return (T)new Integer(result);
+                } catch (NumberFormatException e) {
                     throw new TechnicalException(String.format("Error while parsing json numeric value, for attribute [%s]: %s", attributeName,e.getMessage()), e);
                 }
             case LONG:
                 try {
-                    Number result = decimalFormat.parse(attributeValue);
-                    return (T)new Long(result.longValue());
-                } catch (ParseException e) {
+                    long result = Long.parseLong(attributeValue);
+                    return (T)new Long(result);
+                } catch (NumberFormatException e) {
                     throw new TechnicalException(String.format("Error while parsing json numeric value, for attribute [%s]: %s", attributeName,e.getMessage()), e);
                 }
             case DOUBLE: