DoubleDeserializer<P extends Parser, C extends DeserializationContext<Parser> > constructor
const
DoubleDeserializer<P extends Parser, C extends DeserializationContext<Parser> > ()
Creates a new DoubleDeserializer.
Deserializes JSON numeric values into Dart double instances.
The DoubleDeserializer converts JSON numbers and numeric-like strings into
Dart double values, applying relaxed and safe coercion rules:
- Returns the value directly if it is already a
double. - Converts any
numinto adoubleusing.toDouble(). - Attempts
double.tryParse()for string values. - Returns
nullwhen the JSON value isnull.
Core Responsibilities
- Provide safe and predictable coercion of JSON numeric values to
double. - Handle integers, doubles, numeric strings, and nulls.
- Integrate seamlessly with JetLeaf's deserialization strategy.
Example
final deserializer = DoubleDeserializer();
final parser = JsonParser('3.14');
final result = deserializer.deserialize(parser, context, Class.forType(double));
// result == 3.14
Notes
- Non-numeric strings result in
nullviadouble.tryParse. - Avoids throwing format exceptions unless upstream parser errors occur.
Implementation
const DoubleDeserializer();