Модуль json обрабатывает только фиксированный набор типов Python. Для сериализации комплексных чисел, дат, путей или классов пользователей необходимо предоставить функцию default или подклассить JSONEncoder, затем сопоставить вывод с object_hook на стороне декодирования.
json / serialization / JSONEncoder / default / object_hook / python-standard-library / datetime / complex
Используйте строки ISO временных меток и десятичные строки, затем восстанавливайте поля явно. Полный пример стандартной библиотеки показывает проверки часового пояса, точность и предсказуемые сбои.
JSON / Serialization / Deserialization / Datetime / Decimal / Python / Data Contract / Type Handling
Узнайте, как анализировать JSON-данные в Python как из строковых литералов, так и из файлов, а также как эффективно обрабатывать потенциальные ошибки декодирования с помощью встроенного модуля json.
python / json / parsing / decoding / file handling / error handling / pathlib / data serialization