omnipy.components.json.models
JSON model classes for validating and serializing JSON-compatible content.
This module defines Omnipy's public JSON model variants, ranging from scalar-only models to specialized list/dict containers and generic custom container models.
| CLASS | DESCRIPTION |
|---|---|
JsonCustomDictModel |
Validate JSON objects constrained to a JSON-compatible value type. |
JsonCustomListModel |
Validate JSON arrays constrained to a JSON-compatible item type. |
JsonDictModel |
JsonDictModel is a limited JSON model supporting only JSON content |
JsonDictOfDictsModel |
Validate JSON objects whose values are JSON objects. |
JsonDictOfDictsOfScalarsModel |
Validate JSON objects whose values are scalar-only JSON objects. |
JsonDictOfListsModel |
Validate JSON objects whose values are JSON arrays. |
JsonDictOfListsOfDictsModel |
Validate JSON objects whose values are arrays of JSON objects. |
JsonDictOfListsOfScalarsModel |
Validate JSON objects whose values are scalar-only JSON arrays. |
JsonDictOfNestedListsModel |
Validate JSON objects whose values are nested JSON arrays. |
JsonDictOfScalarsModel |
Validate JSON objects whose values are scalar values. |
JsonListModel |
JsonListModel is a limited JSON model supporting only JSON content |
JsonListOfDictsModel |
Validate JSON arrays whose items are JSON objects. |
JsonListOfDictsOfScalarsModel |
Validate JSON arrays of scalar-only JSON objects. |
JsonListOfListsModel |
Validate JSON arrays whose items are JSON arrays. |
JsonListOfListsOfScalarsModel |
Validate JSON arrays of scalar-only JSON arrays. |
JsonListOfNestedDictsModel |
Validate JSON arrays whose items are nested JSON objects. |
JsonListOfScalarsModel |
Validate JSON arrays that contain only scalar values. |
JsonListOrDictModel |
JsonListOrDictModel is a general JSON model supporting any JSON |
JsonModel |
Model for validated JSON data. |
JsonNestedDictsModel |
Validate nested JSON objects whose leaves are scalar values. |
JsonNestedListsModel |
Validate nested JSON arrays whose leaves are scalar values. |
JsonOnlyDictsModel |
Model for JSON content composed only of scalars and nested objects. |
JsonOnlyListsModel |
Model for JSON content composed only of scalars and nested arrays. |
JsonScalarModel |
JSON model restricted to scalar JSON values. |
ParseStrAsJsonMixin |
Provide JSON-string pre-parsing behavior for model classes. |
| FUNCTION | DESCRIPTION |
|---|---|
is_json_model_instance_hack |
Check if the given object is an instance of a JSON model class. |
| ATTRIBUTE | DESCRIPTION |
|---|---|
AnyJsonListOrDictModel |
TYPE:
|
AnyJsonModel |
TYPE:
|
AnyJsonOnlyDictsModel |
TYPE:
|
AnyJsonOnlyListsModel |
TYPE:
|
AnyJsonScalarModel |
TYPE:
|
AnyJsonListOrDictModel
module-attribute
-
Reference
Code reference
omnipy
components
json
modelsAnyJsonModel
AnyJsonOnlyDictsModel
module-attribute
AnyJsonOnlyDictsModel: TypeAlias = AnyJsonScalarModel | _JsonNestedDictsM
AnyJsonOnlyListsModel
module-attribute
AnyJsonOnlyListsModel: TypeAlias = AnyJsonScalarModel | _JsonNestedListsM
AnyJsonScalarModel
module-attribute
-
Reference
Code reference
omnipy
components
json
models
JsonCustomDictModel
Bases: Model[_JsonDictM[_JsonBaseT]], Generic[_JsonBaseT]
flowchart BT
omnipy.components.json.models.JsonCustomDictModel[JsonCustomDictModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonCustomDictModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonCustomDictModel href "" "omnipy.components.json.models.JsonCustomDictModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON objects constrained to a JSON-compatible value type.
This generic model supports defining object-shaped JSON models with a caller-specified JSON-compatible value constraint.
Source code in src/omnipy/components/json/models.py
JsonCustomListModel
Bases: Model[_JsonListM[_JsonBaseT]], Generic[_JsonBaseT]
flowchart BT
omnipy.components.json.models.JsonCustomListModel[JsonCustomListModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonCustomListModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonCustomListModel href "" "omnipy.components.json.models.JsonCustomListModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON arrays constrained to a JSON-compatible item type.
This generic model supports defining list-shaped JSON models with a caller-specified JSON-compatible item constraint.
Source code in src/omnipy/components/json/models.py
JsonDictModel
Bases: Model[_JsonAnyDictM]
flowchart BT
omnipy.components.json.models.JsonDictModel[JsonDictModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonDictModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonDictModel href "" "omnipy.components.json.models.JsonDictModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
JsonDictModel is a limited JSON model supporting only JSON content that has a dict (or "object" in JSON nomenclature) at the root. The values of the top-level dict can be any JSON content, though, any levels deep.
Examples:
>>> my_json = JsonDictModel({'a': None, 'b': [1, 12.5, {'abc': 123}]})
>>> my_json.to_data()
{'a': None, 'b': [1, 12.5, {'abc': 123}]}
>>> my_json.to_json()
'{"a": null, "b": [1, 12.5, {"abc": 123}]}'
>>> print(my_json.to_json(pretty=True))
{
"a": null,
"b": [
1,
12.5,
{
"abc": 123
}
]
}
>>> try:
... my_json = JsonDictModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
... except Exception as e:
... print(str(e).splitlines()[0])
3 validation errors for JsonDictModel
-
Reference
Code reference
omnipy
configConfigBaseas_model
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonDictOfDictsModel
Bases: Model[_JsonDictM[_JsonAnyDictM]]
flowchart BT
omnipy.components.json.models.JsonDictOfDictsModel[JsonDictOfDictsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonDictOfDictsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonDictOfDictsModel href "" "omnipy.components.json.models.JsonDictOfDictsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON objects whose values are JSON objects.
This model enforces a top-level object where each value is another JSON object containing JSON-compatible values.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonDictOfDictsOfScalarsModel
Bases: Model[_JsonDictM[_JsonDictOfScalars]]
flowchart BT
omnipy.components.json.models.JsonDictOfDictsOfScalarsModel[JsonDictOfDictsOfScalarsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonDictOfDictsOfScalarsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonDictOfDictsOfScalarsModel href "" "omnipy.components.json.models.JsonDictOfDictsOfScalarsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON objects whose values are scalar-only JSON objects.
This model accepts top-level objects where each nested object contains only JSON scalar values.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonDictOfListsModel
Bases: Model[_JsonDictM[_JsonAnyListM]]
flowchart BT
omnipy.components.json.models.JsonDictOfListsModel[JsonDictOfListsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonDictOfListsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonDictOfListsModel href "" "omnipy.components.json.models.JsonDictOfListsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON objects whose values are JSON arrays.
This model enforces a top-level object shape where each value is a JSON array containing JSON-compatible content.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonDictOfListsOfDictsModel
Bases: Model[_JsonDictM[_JsonListM[_JsonAnyDictM]]]
flowchart BT
omnipy.components.json.models.JsonDictOfListsOfDictsModel[JsonDictOfListsOfDictsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonDictOfListsOfDictsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonDictOfListsOfDictsModel href "" "omnipy.components.json.models.JsonDictOfListsOfDictsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON objects whose values are arrays of JSON objects.
This model enforces top-level object values to be arrays where each element is a JSON object.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonDictOfListsOfScalarsModel
Bases: Model[_JsonDictM[_JsonListOfScalars]]
flowchart BT
omnipy.components.json.models.JsonDictOfListsOfScalarsModel[JsonDictOfListsOfScalarsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonDictOfListsOfScalarsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonDictOfListsOfScalarsModel href "" "omnipy.components.json.models.JsonDictOfListsOfScalarsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON objects whose values are scalar-only JSON arrays.
This model accepts top-level objects where each value is an array of JSON scalar values.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonDictOfNestedListsModel
Bases: Model[_JsonDictM[_JsonNestedListsM]]
flowchart BT
omnipy.components.json.models.JsonDictOfNestedListsModel[JsonDictOfNestedListsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonDictOfNestedListsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonDictOfNestedListsModel href "" "omnipy.components.json.models.JsonDictOfNestedListsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON objects whose values are nested JSON arrays.
This model accepts top-level objects where each value is a recursively nested JSON array structure.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonDictOfScalarsModel
Bases: Model[_JsonDictOfScalars]
flowchart BT
omnipy.components.json.models.JsonDictOfScalarsModel[JsonDictOfScalarsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonDictOfScalarsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonDictOfScalarsModel href "" "omnipy.components.json.models.JsonDictOfScalarsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON objects whose values are scalar values.
This model accepts top-level JSON objects and requires all values to be JSON scalar types.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonListModel
Bases: Model[_JsonAnyListM]
flowchart BT
omnipy.components.json.models.JsonListModel[JsonListModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonListModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonListModel href "" "omnipy.components.json.models.JsonListModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
JsonListModel is a limited JSON model supporting only JSON content that has a list (or "array" in JSON nomenclature) at the root. The content of the top-level list can be any JSON content, though, any levels deep.
Examples:
>>> my_json = JsonListModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
>>> my_json.to_data()
[True, {'a': None, 'b': [1, 12.5, 'abc']}]
>>> my_json.to_json()
'[true, {"a": null, "b": [1, 12.5, "abc"]}]'
>>> print(my_json.to_json(pretty=True))
[
true,
{
"a": null,
"b": [
1,
12.5,
"abc"
]
}
]
>>> try:
... my_json = JsonListModel({'a': None, 'b': [1, 12.5, {'abc': 123}]})
... except Exception as e:
... print(str(e).splitlines()[0])
3 validation errors for JsonListModel
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonListOfDictsModel
Bases: Model[_JsonListM[_JsonAnyDictM]]
flowchart BT
omnipy.components.json.models.JsonListOfDictsModel[JsonListOfDictsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonListOfDictsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonListOfDictsModel href "" "omnipy.components.json.models.JsonListOfDictsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON arrays whose items are JSON objects.
This model accepts a top-level array and enforces that every element is a JSON object with string keys and JSON-compatible values.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonListOfDictsOfScalarsModel
Bases: Model[_JsonListM[_JsonDictOfScalars]]
flowchart BT
omnipy.components.json.models.JsonListOfDictsOfScalarsModel[JsonListOfDictsOfScalarsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonListOfDictsOfScalarsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonListOfDictsOfScalarsModel href "" "omnipy.components.json.models.JsonListOfDictsOfScalarsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON arrays of scalar-only JSON objects.
This model accepts top-level arrays where each object value is limited to JSON scalar types.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonListOfListsModel
Bases: Model[_JsonListM[_JsonAnyListM]]
flowchart BT
omnipy.components.json.models.JsonListOfListsModel[JsonListOfListsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonListOfListsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonListOfListsModel href "" "omnipy.components.json.models.JsonListOfListsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON arrays whose items are JSON arrays.
This model enforces one array nesting level at the top level, while allowing each nested array to contain general JSON-compatible content.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonListOfListsOfScalarsModel
Bases: Model[_JsonListM[_JsonListOfScalars]]
flowchart BT
omnipy.components.json.models.JsonListOfListsOfScalarsModel[JsonListOfListsOfScalarsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonListOfListsOfScalarsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonListOfListsOfScalarsModel href "" "omnipy.components.json.models.JsonListOfListsOfScalarsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON arrays of scalar-only JSON arrays.
This model requires a top-level array where each nested array contains only JSON scalar values.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonListOfNestedDictsModel
Bases: Model[_JsonListM[_JsonNestedDictsM]]
flowchart BT
omnipy.components.json.models.JsonListOfNestedDictsModel[JsonListOfNestedDictsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonListOfNestedDictsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonListOfNestedDictsModel href "" "omnipy.components.json.models.JsonListOfNestedDictsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON arrays whose items are nested JSON objects.
This model accepts top-level arrays where each element is a recursively nested JSON object structure.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonListOfScalarsModel
Bases: Model[_JsonListOfScalars]
flowchart BT
omnipy.components.json.models.JsonListOfScalarsModel[JsonListOfScalarsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonListOfScalarsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonListOfScalarsModel href "" "omnipy.components.json.models.JsonListOfScalarsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate JSON arrays that contain only scalar values.
This model accepts top-level JSON arrays where each item is one of the
JSON scalar types (null, number, string, or boolean).
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonListOrDictModel
Bases: ParseStrAsJsonMixin[_JsonListOfDictUnion], Model[_JsonListOfDictUnion]
flowchart BT
omnipy.components.json.models.JsonListOrDictModel[JsonListOrDictModel]
omnipy.components.json.models.ParseStrAsJsonMixin[ParseStrAsJsonMixin]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.components.json.models.ParseStrAsJsonMixin --> omnipy.components.json.models.JsonListOrDictModel
omnipy.data.model.Model --> omnipy.components.json.models.JsonListOrDictModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonListOrDictModel href "" "omnipy.components.json.models.JsonListOrDictModel"
click omnipy.components.json.models.ParseStrAsJsonMixin href "" "omnipy.components.json.models.ParseStrAsJsonMixin"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
JsonListOrDictModel is a general JSON model supporting any JSON content except scalar data.
Examples:
>>> my_json = JsonListOrDictModel([True, {'a': None, 'b': [1, 12.5, 'abc']}])
>>> my_json.to_data()
[True, {'a': None, 'b': [1, 12.5, 'abc']}]
>>> my_json.to_json()
'[true, {"a": null, "b": [1, 12.5, "abc"]}]'
>>> print(my_json.to_json(pretty=True))
[
true,
{
"a": null,
"b": [
1,
12.5,
"abc"
]
}
]
>>> try:
... my_json = JsonListOrDictModel(123) # scalars not supported
... except Exception as e:
... print(str(e).splitlines()[0])
34 validation errors for JsonListOrDictModel
- Reference Code reference
| METHOD | DESCRIPTION |
|---|---|
start_chars_for_json_content |
Return leading characters for non-scalar JSON-string parsing. |
Source code in src/omnipy/components/json/models.py
start_chars_for_json_content
classmethod
Return leading characters for non-scalar JSON-string parsing.
| RETURNS | DESCRIPTION |
|---|---|
str
|
Characters that mark a string as candidate serialized JSON lists or dicts. |
Source code in src/omnipy/components/json/models.py
JsonModel
Bases: ParseStrAsJsonMixin[_JsonAnyUnion], Model[_JsonAnyUnion]
flowchart BT
omnipy.components.json.models.JsonModel[JsonModel]
omnipy.components.json.models.ParseStrAsJsonMixin[ParseStrAsJsonMixin]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.components.json.models.ParseStrAsJsonMixin --> omnipy.components.json.models.JsonModel
omnipy.data.model.Model --> omnipy.components.json.models.JsonModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonModel href "" "omnipy.components.json.models.JsonModel"
click omnipy.components.json.models.ParseStrAsJsonMixin href "" "omnipy.components.json.models.ParseStrAsJsonMixin"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Model for validated JSON data.
This model accepts and validates any JSON-compatible value, including scalars, arrays, and objects with arbitrary nesting depth.
- Reference Code reference
- Reference Code reference
| METHOD | DESCRIPTION |
|---|---|
from_json_str |
Parse a JSON string into a validated |
to_json_str |
Serialize validated JSON content to a JSON string. |
Source code in src/omnipy/components/json/models.py
from_json_str
classmethod
from_json_str(json_content: str) -> JsonModel
Parse a JSON string into a validated JsonModel instance.
| PARAMETER | DESCRIPTION |
|---|---|
json_content
|
Serialized JSON document to parse and validate.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
JsonModel
|
New model instance containing the parsed JSON content.
TYPE:
|
Source code in src/omnipy/components/json/models.py
to_json_str
Serialize validated JSON content to a JSON string.
| PARAMETER | DESCRIPTION |
|---|---|
pretty
|
Whether to return indented human-readable JSON.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
str
|
JSON string representation of this model's content. |
Source code in src/omnipy/components/json/models.py
JsonNestedDictsModel
Bases: Model[_JsonNestedDictsM]
flowchart BT
omnipy.components.json.models.JsonNestedDictsModel[JsonNestedDictsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonNestedDictsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonNestedDictsModel href "" "omnipy.components.json.models.JsonNestedDictsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate nested JSON objects whose leaves are scalar values.
This model captures recursively nested JSON objects that eventually terminate in JSON scalar values.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonNestedListsModel
Bases: Model[_JsonNestedListsM]
flowchart BT
omnipy.components.json.models.JsonNestedListsModel[JsonNestedListsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonNestedListsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonNestedListsModel href "" "omnipy.components.json.models.JsonNestedListsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Validate nested JSON arrays whose leaves are scalar values.
This model captures recursively nested JSON arrays that eventually terminate in JSON scalar values.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonOnlyDictsModel
Bases: Model[_JsonOnlyDictsUnion]
flowchart BT
omnipy.components.json.models.JsonOnlyDictsModel[JsonOnlyDictsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonOnlyDictsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonOnlyDictsModel href "" "omnipy.components.json.models.JsonOnlyDictsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Model for JSON content composed only of scalars and nested objects.
This model accepts JSON scalars and recursively nested JSON objects, but it rejects JSON arrays anywhere in the structure.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonOnlyListsModel
Bases: Model[_JsonOnlyListsUnion]
flowchart BT
omnipy.components.json.models.JsonOnlyListsModel[JsonOnlyListsModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonOnlyListsModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonOnlyListsModel href "" "omnipy.components.json.models.JsonOnlyListsModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
Model for JSON content composed only of scalars and nested arrays.
This model accepts JSON scalars and recursively nested JSON arrays, but it rejects JSON objects anywhere in the structure.
- Reference Code reference
Source code in src/omnipy/components/json/models.py
JsonScalarModel
Bases: Model[JsonScalar]
flowchart BT
omnipy.components.json.models.JsonScalarModel[JsonScalarModel]
omnipy.data.model.Model[Model]
omnipy.data._mixins.display.ModelDisplayMixin[ModelDisplayMixin]
omnipy.data._mixins.display.BaseDisplayMixin[BaseDisplayMixin]
omnipy.data._data_class_creator.DataClassBase[DataClassBase]
omnipy.data.model.Model --> omnipy.components.json.models.JsonScalarModel
omnipy.data._mixins.display.ModelDisplayMixin --> omnipy.data.model.Model
omnipy.data._mixins.display.BaseDisplayMixin --> omnipy.data._mixins.display.ModelDisplayMixin
omnipy.data._data_class_creator.DataClassBase --> omnipy.data.model.Model
omnipy.util.pydantic.GenericModel --> omnipy.data.model.Model
click omnipy.components.json.models.JsonScalarModel href "" "omnipy.components.json.models.JsonScalarModel"
click omnipy.data.model.Model href "" "omnipy.data.model.Model"
click omnipy.data._mixins.display.ModelDisplayMixin href "" "omnipy.data._mixins.display.ModelDisplayMixin"
click omnipy.data._mixins.display.BaseDisplayMixin href "" "omnipy.data._mixins.display.BaseDisplayMixin"
click omnipy.data._data_class_creator.DataClassBase href "" "omnipy.data._data_class_creator.DataClassBase"
JSON model restricted to scalar JSON values.
Supports only None, int, float, str, and bool.
Lists and dicts (JSON objects) are not supported.
Examples:
>>> my_none = JsonScalarModel(None)
>>> my_none.to_data(), my_none.to_json()
(None, 'null')
>>> my_int = JsonScalarModel(123)
>>> my_int.to_data(), my_int.to_json()
(123, '123')
>>> my_float = JsonScalarModel(12.3)
>>> my_float.to_data(), my_float.to_json()
(12.3, '12.3')
>>> my_str = JsonScalarModel('abc')
>>> my_str.to_data(), my_str.to_json()
('abc', '"abc"')
>>> my_bool = JsonScalarModel(False)
>>> my_bool.to_data(), my_bool.to_json()
(False, 'false')
>>> try:
... my_json = JsonScalarModel([123])
... except Exception as e:
... print(str(e).splitlines()[0])
6 validation errors for JsonScalarModel
- Reference Code reference
-
Reference
Code reference
omnipy
components
nested
datasetsNestedAnyUnionT
Source code in src/omnipy/components/json/models.py
ParseStrAsJsonMixin
Bases: Generic[_RootT]
flowchart BT
omnipy.components.json.models.ParseStrAsJsonMixin[ParseStrAsJsonMixin]
click omnipy.components.json.models.ParseStrAsJsonMixin href "" "omnipy.components.json.models.ParseStrAsJsonMixin"
Provide JSON-string pre-parsing behavior for model classes.
Classes using this mixin can transparently accept serialized JSON in string form and convert it into parsed model content before the regular validation pipeline runs.
- Reference Code reference
| METHOD | DESCRIPTION |
|---|---|
start_chars_for_json_content |
Return leading characters that should trigger JSON-string parsing. |
Source code in src/omnipy/components/json/models.py
start_chars_for_json_content
classmethod
Return leading characters that should trigger JSON-string parsing.
| RETURNS | DESCRIPTION |
|---|---|
str
|
Characters that mark a string as candidate serialized JSON content. |
Source code in src/omnipy/components/json/models.py
is_json_model_instance_hack
Check if the given object is an instance of a JSON model class. Temporary solution to identify JSON model classes for output formatting.
(Does not work for JsonCustomListModel and JsonCustomDictModel)
| PARAMETER | DESCRIPTION |
|---|---|
obj
|
The object to check.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
True if the object is an instance of a JSON model class, False otherwise. |