📖 Теория: JSON и datetime

⚡ Кратко

JSON — текстовый формат с двойными кавычками. Python-типы преобразуются в JSON-типы. datetime использует strftime для строки и strptime для объекта.

Что такое JSON

JSON (JavaScript Object Notation) — текстовый формат для хранения и передачи структурированных данных. Он используется в API, конфигурационных файлах, базах данных и обмене между фронтендом и бэкендом.

Основные правила JSON:

  • Ключи и строки только в двойных кавычках.
  • Поддерживаются объекты {}, массивы [], строки, числа, true, false, null.

Соответствие типов Python и JSON

PythonJSON
dictobject
listarray
tuplearray
strstring
int, floatnumber
True, Falsetrue, false
Nonenull
set, frozensetне поддерживаются

Модуль json

  • json.dumps(obj) — Python-объект → JSON-строка.
  • json.dump(obj, file) — Python-объект → файл JSON.
  • json.loads(string) — JSON-строка → Python-объект.
  • json.load(file) — файл JSON → Python-объект.

Форматирование JSON

  • indent=4 — отступы для читаемости.
  • ensure_ascii=False — корректная запись Unicode.
  • sort_keys=True — сортировка ключей.

JSONDecodeError

Ошибка возникает при некорректном JSON: пропущенные запятые, одинарные кавычки, лишние запятые, незакрытые скобки. Всегда оборачивайте загрузку в try-except.

Модуль datetime

Модуль datetime предоставляет классы для работы с датами и временем:

  • datetime.now() — текущая дата и время.
  • datetime(year, month, day) — создание объекта.
  • strftime(format) — объект → строка.
  • strptime(string, format) — строка → объект.
  • timedelta — разница между датами.