Show / Hide Table of Contents

Namespace Xrpl.Client.Json.Converters

Classes

AssetPriceConverter

Converts AssetPrice values between numeric and hexadecimal string representation. When writing, converts ulong to lowercase hex string without leading zeros. When reading, accepts both hex strings and numeric values.

CreatedNodeConverter

CurrencyConverter

currency json converter

DeletedNodeConverter

DictionaryObjectConverter

Converts System.Collections.Generic.Dictionary<TKey, TValue> using primitive CLR types instead of System.Text.Json.JsonElement. System.Text.Json by default deserializes object values as System.Text.Json.JsonElement, which breaks code that expects string, int, or nested dictionaries. XrplBinaryCodec and wallet signing rely on primitive CLR types in dictionaries.

EnumMemberValueConverter<T>

Serializes/deserializes enums using System.Runtime.Serialization.EnumMemberAttribute.Value when present, falling back to the enum member name (case-insensitive read). Replaces JsonStringEnumConverter for enums decorated with [EnumMember(Value = "...")].

FromStringDateTimeConverter

GatewayBalancesResponseConverter

GenericStringConverter<T>

generic object json converter

IssuedCurrencyConverter

issued currency json converter

LOConverter

BaseLedgerEntry json converter

LONFTokenConverter

BaseLedgerEntry json converter

LedgerBinaryConverter

LedgerEntity or LedgerBinaryEntity converter

LedgerEntryTypeConverter

Converts LedgerEntryType enum to/from JSON strings. Unknown enum values are deserialized as Unknown instead of throwing, preserving forward compatibility with new ledger object types.

LedgerIndexConverter

LedgerIndex json converter

MetaBinaryConverter

Meta json converter

ModifiedNodeConverter

NodeConverterBase<TNode>

NumberOrStringConverter

Reads a JSON value that may be either a number or a string and always returns it as a string. Useful for fields like ledger_index which some API methods return as a quoted integer and others return as a native JSON number.

OracleCurrencyConverter

Converts Oracle currency identifiers (BaseAsset/QuoteAsset) following XRPL Currency rules: standard codes are exactly three characters as plain strings; nonstandard codes use 40-character hex (see Currency formats). Serialization matches CurrencyToHex(string).

OracleHexStringConverter

Converts Oracle string fields (Provider, AssetClass, URI) to/from hexadecimal ASCII representation.

PermissionValueConverter

Converts a Delegate permission entry, whose only field is PermissionValue. rippled returns that value as a name string in JSON responses (a transaction type name or a granular permission name) but accepts both forms on input; the binary codec always uses the numeric form. Transaction-type permissions have value = transaction type code + 1.

The converter works on the whole entry rather than the value alone because a name this version cannot map has no number to fall back to: it is kept in PermissionValueName instead, which a converter bound to the numeric property could not reach. A node gains permission names with every amendment, so an unmapped name is ordinary data from an up-to-date node, not malformed input.

QueuedTransactionTxConverter

Serializes queued_transaction.tx as either a transaction hash string or a JSON object (expanded transaction or tx_blob wrapper), matching rippled ledger queue responses.

RippleDateTimeConverter

Ripple datetime converter

ScientificDecimalConverter

Handles decimal values that may arrive in scientific notation (e.g. 1e-05). System.Text.Json does not natively parse scientific notation into decimal, so this converter reads the raw value and uses decimal.Parse with appropriate styles.

ServerFeaturesConverter

StringOrArrayConverter

string or array json converter

TransactionOrHashConverter

Hash Or Transaction json converter

TransactionRequestConverter

Transaction json Converter

TransactionResponseConverter

Transaction json Converter

TransactionTypeConverter

Converts TransactionType enum to/from JSON strings. Unknown enum values are deserialized as Unknown instead of throwing, preserving the previous behavior where serializer.Populate() tolerated unrecognized enum values.

UInt64HexJsonConverter

UInt64StringJsonConverter

UnixDateTimeConverter

Converts a DateTime to and from a Unix timestamp (seconds since the Unix Epoch).

In this article
Back to top Generated by DocFX