diff options
| author | Alexander_Kabui | 2024-01-02 13:21:07 +0300 |
|---|---|---|
| committer | Alexander_Kabui | 2024-01-02 13:21:07 +0300 |
| commit | 70c4201b332e0e2c0d958428086512f291469b87 (patch) | |
| tree | aea4fac8782c110fc233c589c3f0f7bd34bada6c /gn2/utility/json | |
| parent | 5092eb42f062b1695c4e39619f0bd74a876cfac2 (diff) | |
| parent | 965ce5114d585624d5edb082c710b83d83a3be40 (diff) | |
| download | genenetwork2-70c4201b332e0e2c0d958428086512f291469b87.tar.gz | |
merge changes
Diffstat (limited to 'gn2/utility/json')
| -rw-r--r-- | gn2/utility/json/__init__.py | 3 | ||||
| -rw-r--r-- | gn2/utility/json/encoders.py | 17 |
2 files changed, 20 insertions, 0 deletions
diff --git a/gn2/utility/json/__init__.py b/gn2/utility/json/__init__.py new file mode 100644 index 00000000..b1141a34 --- /dev/null +++ b/gn2/utility/json/__init__.py @@ -0,0 +1,3 @@ +"""Local JSON utilities.""" + +from .encoders import CustomJSONEncoder diff --git a/gn2/utility/json/encoders.py b/gn2/utility/json/encoders.py new file mode 100644 index 00000000..7c5839ac --- /dev/null +++ b/gn2/utility/json/encoders.py @@ -0,0 +1,17 @@ +"""Custom JSON encoders""" +from uuid import UUID +from json import JSONEncoder + +# Do not use this `__ENCODERS__` variable outside of this module. +__ENCODERS__ = { + UUID: lambda obj: str(obj) +} + +class CustomJSONEncoder(JSONEncoder): + """Custom JSONEncoder class.""" + def default(self, obj): + """Serialise `obj` to a JSON representation.""" + obj_type = type(obj) + if obj_type in __ENCODERS__: + return __ENCODERS__[obj_type](obj) + return JSONEncoder.default(self, obj) |
