Skip to content

Commit 087c91e

Browse files
committed
refactor: Extract number parsing logic into parseNumber method
1 parent d0b9722 commit 087c91e

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

spring-boot-project/spring-boot/src/main/java/org/springframework/boot/json/BasicJsonParser.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -72,19 +72,7 @@ private Object parseInternal(int nesting, String json) {
7272
if (json.startsWith("\"")) {
7373
return trimEdges(json, '"', '"');
7474
}
75-
try {
76-
return Long.valueOf(json);
77-
}
78-
catch (NumberFormatException ex) {
79-
// ignore
80-
}
81-
try {
82-
return Double.valueOf(json);
83-
}
84-
catch (NumberFormatException ex) {
85-
// ignore
86-
}
87-
return json;
75+
return parseNumber(json);
8876
}
8977

9078
private Map<String, Object> parseMapInternal(int nesting, String json) {
@@ -101,6 +89,18 @@ private Map<String, Object> parseMapInternal(int nesting, String json) {
10189
return map;
10290
}
10391

92+
private Object parseNumber(String json) {
93+
try {
94+
return Long.valueOf(json);
95+
} catch (NumberFormatException e) {
96+
try {
97+
return Double.valueOf(json);
98+
} catch (NumberFormatException ex) {
99+
return json;
100+
}
101+
}
102+
}
103+
104104
private static String trimTrailingCharacter(String string, char c) {
105105
if (!string.isEmpty() && string.charAt(string.length() - 1) == c) {
106106
return string.substring(0, string.length() - 1);

0 commit comments

Comments
 (0)