JsonList<T extends JsonModel> class
A specialized JSON field for handling lists of JsonModel objects.
JsonList extends JsonField<List<T>> to provide type-safe handling of arrays of model objects in JSON data. It automatically deserializes JSON arrays into lists of model instances and provides indexed access to elements.
Key Features:
- Automatic deserialization of JSON arrays to model lists
- Indexed access using
[]and[]=operators - Defaults to empty list when value is null
- Type-safe list operations with generic type parameter
Type Parameter:
T: The type of JsonModel objects in the list (e.g.,UserModel,ProductModel).
Usage Example:
final users = JsonList<UserModel>('users');
users.value = [
{'name': 'John', 'age': 30},
{'name': 'Jane', 'age': 25}
]; // Automatically deserializes to List<UserModel>
print(users[0]['name']); // 'John'
print(users.length); // 2
See also:
- JsonField for the base field implementation
- JsonModel for the model base class
- JsonObject for single nested objects
Properties
- error ↔ String?
-
An error message associated with this field, if any.
getter/setter pairinherited
- fieldName → String
-
The name of this field as it appears in JSON data.
finalinherited
- hasError → bool
-
Returns
trueif this field has an error message.no setterinherited - hashCode → int
-
Returns the hash code for this field.
no setterinherited
- hasInformation → bool
-
Returns
trueif this field has an informational message.no setterinherited - hasWarning → bool
-
Returns
trueif this field has a warning message.no setterinherited - information ↔ String?
-
An informational message associated with this field, if any.
getter/setter pairinherited
- isNotNull → bool
-
Returns
trueif the raw value of this field is notnull.no setterinherited - isNull → bool
-
Returns
trueif the raw value of this field isnull.no setterinherited -
rawValue
↔ List<
T> ? -
The raw, unprocessed value stored in this field.
getter/setter pairinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
value
↔ List<
T> -
Returns the list of model objects.
getter/setter pairoverride
- warning ↔ String?
-
A warning message associated with this field, if any.
getter/setter pairinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toJson(
) → List< Map< ?String, dynamic> > -
Serializes the list of model objects to a JSON array.
override
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
Determines whether this field is equal to another object.
inherited
-
operator [](
int index) → dynamic - Retrieves the model object at the specified index.
-
operator []=(
int index, dynamic value) → void - Sets the model object at the specified index.