facet classafJson::JsonProperty

sys::Obj
  afJson::JsonProperty : sys::Facet

@Js
@Serializable

Marks a field as a property of a JSON object.

defVal

Source

const Obj? defVal

When converting to JSON, any Fantom value that equals this defVal will be treated as if it were null and (depending on ObjConverter) will not exist in the JSON object.

When converting from JSON, any null value will be converted to this defVal.

This is most useful for saving marker booleans and to avoid saving empty lists and maps.

implType

Source

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 this implType.

name

Source

const Str? name

Name of the JSON property name this field maps to.

Defaults to the field name.

pickleMode

Source

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.