facet classafJson::JsonProperty
sys::Obj afJson::JsonProperty : sys::Facet
Marks a field as a property of a JSON object.
- defVal
const Obj? defVal
When converting to JSON, any Fantom value that equals this
defVal
will be treated as if it werenull
and (depending onObjConverter
) will not exist in the JSON object.When converting from JSON, any
null
value will be converted to thisdefVal
.This is most useful for saving marker booleans and to avoid saving empty lists and maps.
- implType
const Type? implType
The implementation
Type
to be instantiated should this field reference a mixin or a superclass. Used when mapping from JSON objects to Fantom objects.Defaults to the field type.
Note that a property named
_type
in the field's value overrides thisimplType
.- name
const Str? name
Name of the JSON property name this field maps to.
Defaults to the field name.
- pickleMode
const Bool pickleMode := false
Turns on Pickle Mode whereby all non
@Transient
fields are converted, regardless of any@JsonProperty
facets.Data from
@JsonProperty
facets, however, will still honoured if defined.