diff --git a/frappe/utils/response.py b/frappe/utils/response.py index 7b04b702e9..8ff5acdff0 100644 --- a/frappe/utils/response.py +++ b/frappe/utils/response.py @@ -159,6 +159,7 @@ def make_logs(response=None): def json_handler(obj): """serialize non-serializable data for json""" from collections.abc import Iterable + from re import Match if isinstance(obj, (datetime.date, datetime.datetime, datetime.time)): return str(obj) @@ -179,6 +180,9 @@ def json_handler(obj): elif isinstance(obj, Iterable): return list(obj) + elif isinstance(obj, Match): + return obj.string + elif type(obj) == type or isinstance(obj, Exception): return repr(obj)