JSON Python 3. JSONEncoder decimal datetime.
import json
from decimal import Decimal
from datetime import datetime, date
class JSONEncoder(json.JSONEncoder):
def default(self, o):
if isinstance(o, Decimal):
return float(o)
elif isinstance(o, (datetime, date)):
return o.isoformat()
return super().default(self,o)
class JSONDecoder(json.JSONDecoder):
pass
_Default_Encoder = JSONEncoder(
skipkeys=False,
ensure_ascii=False,
check_circular=True,
allow_nan=True,
indent=None,
separators=None,
default=None,
)
_Default_Decoder = JSONDecoder(
object_hook=None,
object_pairs_hook=None
)
Encode = _Default_Encoder.encode
Decode = _Default_Decoder.decode