Skip to content

Commit 754185c

Browse files
committed
use BigDecimalParser (#573)
1 parent 3745f2a commit 754185c

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/main/scala/com/fasterxml/jackson/module/scala/deser/ScalaNumberDeserializersModule.scala

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package module.scala
33
package deser
44

55
import com.fasterxml.jackson.core.JsonToken.{START_ARRAY, VALUE_NUMBER_FLOAT, VALUE_NUMBER_INT, VALUE_STRING}
6+
import com.fasterxml.jackson.core.io.BigDecimalParser
67
import com.fasterxml.jackson.core.{JsonParser, JsonToken}
78
import com.fasterxml.jackson.databind.DeserializationFeature.UNWRAP_SINGLE_VALUE_ARRAYS
89
import com.fasterxml.jackson.databind.JacksonModule.SetupContext
@@ -43,14 +44,18 @@ private abstract class BigNumberDeserializer[T >: Null : ClassTag](creator: (Str
4344
}
4445
}
4546

46-
private object BigDecimalDeserializer extends BigNumberDeserializer(BigDecimal.apply)
47+
private object ScalaBigDecimalParser {
48+
def fromString(str: String): BigDecimal = BigDecimalParser.parse(str)
49+
}
50+
51+
private object BigDecimalDeserializer extends BigNumberDeserializer(ScalaBigDecimalParser.fromString)
4752

4853
private object BigIntDeserializer extends BigNumberDeserializer(BigInt.apply)
4954

5055
private class NumberDeserializers(config: ScalaModule.Config) extends Deserializers.Base
5156
{
52-
val BigDecimalClass = BigDecimalDeserializer.handledType()
53-
val BigIntClass = BigIntDeserializer.handledType()
57+
private val BigDecimalClass = BigDecimalDeserializer.handledType()
58+
private val BigIntClass = BigIntDeserializer.handledType()
5459

5560
override def findBeanDeserializer(tpe: JavaType, deserializationConfig: DeserializationConfig, beanDesc: BeanDescription): ValueDeserializer[_] =
5661
tpe.getRawClass match {

0 commit comments

Comments
 (0)