Crate serde_decimal

Source
Expand description

Careful serialization and deserialization of rust_decimal types.

Several tests in these modules will fail if one were to naively apply e.g., #[serde(with = "rust_decimal::serde::float_option")]. This module provides alternative modules to be used with #[serde(with = ...)]. This circumvents bugs in the rust_decimal::serde modules and adds modules for serialization and deserialization of Option<Option<Decimal>>.

  • use double_option_float for Option<Option<Decimal>> where the field may be missing and may be null.
  • use non_required_float for Option<Decimal> where the field may be missing but may not be null.
  • use nullable_float for Option<Decimal> where the field is required but may be null.
  • use double_option_str for Option<Option<Decimal>> where the field may be missing and may be null.
  • use non_required_str for Option<Decimal> where the field may be missing but may not be null.
  • use nullable_str for Option<Decimal> where the field is required but may be null.
  • use double_option_arbitrary_precision for Option<Option<Decimal>> where the field may be missing and may be null.
  • use non_required_arbitrary_precision for Option<Decimal> where the field may be missing but may not be null.
  • use nullable_arbitrary_precision for Option<Decimal> where the field is required but may be null.

Modulesยง

double_option_arbitrary_precisionrust-decimal-arbitrary-precision
Combination of the serde rules from rust_decimal::serde::arbitrary_precision and serde_with::rust::double_option.
double_option_float
Combination of the serde rules from rust_decimal::serde::float and serde_with::rust::double_option.
double_option_str
Combination of the serde rules from rust_decimal::serde::str and serde_with::rust::double_option.
non_required_arbitrary_precisionrust-decimal-arbitrary-precision
Serialization and deserialization of not required but not nullable decimals as numbers with arbitrary precision.
non_required_float
Serialization and deserialization of not required but not nullable decimals as floats.
non_required_str
Serialization and deserialization of not required but not nullable decimals as strings.
nullable_arbitrary_precisionrust-decimal-arbitrary-precision
Serialization and deserialization of required but nullable decimals with arbitrary precision.
nullable_float
Serialization and deserialization of required but nullable decimals as floats.
nullable_str
Serialization and deserialization of required but nullable decimals as strings.