Always use the right number type when serializing, so formats that support the type info can deserialize to the correct type. Currently, if you serialize an int JsonNumber, when deserializing you get a long JsonNumber.
Fix fallback deserialization of custom Number implementations. The bson decoder advances when getBigDecimal is called - so, in the second call you either get an exception or one of the fields is swallowed.
Fix element index increment when serializing BigInteger. Increment is already done by encodeBigDecimal.
int JsonNumber
, when deserializing you get along JsonNumber
.Number
implementations. The bson decoder advances whengetBigDecimal
is called - so, in the second call you either get an exception or one of the fields is swallowed.BigInteger
. Increment is already done byencodeBigDecimal
.