json_annotation library

Provides annotation classes to use with json_serializable.

Also contains helper functions and classes – prefixed with $ used by json_serializable when the use_wrappers or checked options are enabled.

Classes

$JsonMapWrapper
Helper class used in generated code when JsonSerializableGenerator.useWrappers is true. [...]
JsonConverter<T, S>
Implement this class to provide custom converters for a specific Type. [...]
JsonKey
An annotation used to specify how a field is serialized.
JsonLiteral
An annotation used to generate a private field containing the contents of a JSON file. [...]
JsonSerializable
An annotation used to specify a class to generate code for.
JsonValue
An annotation used to specify how a enum value is serialized.

Functions

$checkedConvert<T>(Map map, String key, T castFunc(Object value)) → T
Helper function used in generated code when JsonSerializableGenerator.checked is true. [...]
$checkedNew<T>(String className, Map map, T constructor(), { Map<String, String> fieldKeyMap }) → T
Helper function used in generated code when JsonSerializableGenerator.checked is true. [...]
$checkKeys(Map map, { List<String> allowedKeys List<String> requiredKeys List<String> disallowNullValues }) → void
Helper function used in generated fromJson code when JsonSerializable.disallowUnrecognizedKeys is true for an annotated type or JsonKey.required is true for any annotated fields. [...]
$wrapList<T>(List<T> source, dynamic converter(T key)) → List
Helper function used in generated code when JsonSerializableGenerator.useWrappers is true. [...]
@Deprecated('Will be removed in 3.0.0.')
$wrapListHandleNull<T>(List<T> source, dynamic converter(T key)) → List
Helper function used in generated code when JsonSerializableGenerator.useWrappers is true. [...]
@Deprecated('Will be removed in 3.0.0.')
$wrapMap<K, V>(Map<K, V> source, dynamic converter(V key)) → Map<String, dynamic>
Helper function used in generated code when JsonSerializableGenerator.useWrappers is true. [...]
@Deprecated('Will be removed in 3.0.0.')
$wrapMapHandleNull<K, V>(Map<K, V> source, dynamic converter(V key)) → Map<String, dynamic>
Helper function used in generated code when JsonSerializableGenerator.useWrappers is true. [...]
@Deprecated('Will be removed in 3.0.0.')

Enums

FieldRename
Values for the automatic field renaming behavior for JsonSerializable.

Exceptions / Errors

BadKeyException
A base class for exceptions thrown when decoding JSON.
CheckedFromJsonException
Exception thrown if there is a runtime exception in fromJson code generated when JsonSerializableGenerator.checked is true
DisallowedNullValueException
Exception thrown if there are keys with disallowed null values in a JSON map that was provided during deserialization.
MissingRequiredKeysException
Exception thrown if there are missing required keys in a JSON map that was provided during deserialization.
UnrecognizedKeysException
Exception thrown if there are unrecognized keys in a JSON map that was provided during deserialization.