Модуль json обрабатывает только фиксированный набор типов Python. Для сериализации комплексных чисел, дат, путей или классов пользователей необходимо предоставить функцию default или подклассить JSONEncoder, затем сопоставить вывод с object_hook на стороне декодирования.
json / serialization / JSONEncoder / default / object_hook / python-standard-library / datetime / complex
Как читать, изменять и синхронизировать переменные окружения в Python с помощью os.environ и os.environb, обрабатывать различия кодировок на разных платформах и передавать окружение дочерним процессам.
os.environ / os.environb / environment-variables / python-os / utf8-mode / cross-platform / child-process / reload_environ
Отличайте отсутствующие и пустые настройки, явно разбирайте порты и булевы значения, и сообщайте об ошибках конфигурации, не обнажая секреты.
Python / Configuration / Environment / Validation
Используйте строки 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