Skip to content

Commit 1fc1784

Browse files
authored
Merge pull request #589 from Alanscut/jackson_provider
add BigInteger
2 parents 8d49cc7 + f2aa9f8 commit 1fc1784

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

json-path/src/main/java/com/jayway/jsonpath/spi/json/JacksonJsonNodeJsonProvider.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.io.InputStream;
1414
import java.io.InputStreamReader;
1515
import java.math.BigDecimal;
16+
import java.math.BigInteger;
1617
import java.util.ArrayList;
1718
import java.util.Collection;
1819
import java.util.Iterator;
@@ -29,14 +30,14 @@ public ObjectMapper getObjectMapper() {
2930
}
3031

3132
/**
32-
* Initialize the JacksonTreeJsonProvider with the default ObjectMapper and ObjectReader
33+
* Initialize the JacksonJsonNodeJsonProvider with the default ObjectMapper and ObjectReader
3334
*/
3435
public JacksonJsonNodeJsonProvider() {
3536
this(defaultObjectMapper);
3637
}
3738

3839
/**
39-
* Initialize the JacksonTreeJsonProvider with a custom ObjectMapper and ObjectReader.
40+
* Initialize the JacksonJsonNodeJsonProvider with a custom ObjectMapper and ObjectReader.
4041
*
4142
* @param objectMapper the ObjectMapper to use
4243
*/
@@ -174,9 +175,9 @@ public void setProperty(Object obj, Object key, Object value) {
174175
}
175176

176177
public void removeProperty(Object obj, Object key) {
177-
if (isMap(obj))
178+
if (isMap(obj)) {
178179
toJsonObject(obj).remove(key.toString());
179-
else {
180+
} else {
180181
ArrayNode array = toJsonArray(obj);
181182
int index = key instanceof Integer ? (Integer) key : Integer.parseInt(key.toString());
182183
array.remove(index);
@@ -258,7 +259,9 @@ private void setValueInObjectNode(ObjectNode objectNode, Object key, Object valu
258259
objectNode.put(key.toString(), (Long) value);
259260
} else if (value instanceof Short) {
260261
objectNode.put(key.toString(), (Short) value);
261-
} else if (value instanceof Double) {
262+
} else if (value instanceof BigInteger) {
263+
objectNode.put(key.toString(), (BigInteger) value);
264+
} else if (value instanceof Double) {
262265
objectNode.put(key.toString(), (Double) value);
263266
} else if (value instanceof Float) {
264267
objectNode.put(key.toString(), (Float) value);

0 commit comments

Comments
 (0)