Skip to main content

JSONTag

Base class for defining type tags for :class:TaggedJSONSerializer.

Attributes

AttributeTypeDescription
serializer[TaggedJSONSerializer](taggedjsonserializer.md?sid=flask_json_tag_taggedjsonserializer)The TaggedJSONSerializer instance associated with this tagger.
keystr = ""The tag to mark the serialized object with. If empty, this tag is only used as an intermediate step during tagging.

Constructor

Signature

def JSONTag(
serializer: [TaggedJSONSerializer](taggedjsonserializer.md?sid=flask_json_tag_taggedjsonserializer)
) - > None

Parameters

NameTypeDescription
serializer[TaggedJSONSerializer](taggedjsonserializer.md?sid=flask_json_tag_taggedjsonserializer)The serializer instance to associate with this tagger.

Signature

def JSONTag(
serializer: [TaggedJSONSerializer](taggedjsonserializer.md?sid=flask_json_tag_taggedjsonserializer)
)

Parameters

NameTypeDescription
serializer[TaggedJSONSerializer](taggedjsonserializer.md?sid=flask_json_tag_taggedjsonserializer)The serializer instance this tag belongs to, used for recursive serialization.

Methods


check()

@classmethod
def check(
value: t.Any
) - > bool

Check if the given value should be tagged by this tag.

Parameters

NameTypeDescription
valuet.AnyThe Python object to inspect for type compatibility.

Returns

TypeDescription
boolTrue if the value matches the type handled by this tag, False otherwise.

to_json()

@classmethod
def to_json(
value: t.Any
) - > t.Any

Convert the Python object to an object that is a valid JSON type. The tag will be added later.

Parameters

NameTypeDescription
valuet.AnyThe Python object to be converted into a JSON-compatible format.

Returns

TypeDescription
t.AnyA JSON-serializable representation of the input value.

to_python()

@classmethod
def to_python(
value: t.Any
) - > t.Any

Convert the JSON representation back to the correct type. The tag will already be removed.

Parameters

NameTypeDescription
valuet.AnyThe JSON-compatible value to be converted back into a Python object.

Returns

TypeDescription
t.AnyThe reconstructed Python object of the original type.

tag()

@classmethod
def tag(
value: t.Any
) - > dict[str, t.Any]

Convert the value to a valid JSON type and add the tag structure around it.

Parameters

NameTypeDescription
valuet.AnyThe Python object to be transformed and wrapped in a tag dictionary.

Returns

TypeDescription
dict[str, t.Any]A dictionary containing the tag key mapping to the JSON-serializable value.