JSON
Самый популярный формат обмена данными — и стандартный модуль json в Python.
JSON
Что это
JSON — текстовый формат: словари → объекты {...}, списки → массивы [...], строки/числа/булевы как обычно. В Python работа с ним идёт через стандартный модуль json. Две главные функции: dumps (Python → строка JSON) и loads (строка JSON → Python).
Как читается
import json
data = {"name": "Аня", "age": 12}
s = json.dumps(data, ensure_ascii=False)
back = json.loads(s)
print(back["name"])
- dumps (s = string): сериализует объект в строку.
- loads: парсит строку обратно в Python.
- ensure_ascii=False сохраняет кириллицу/эмодзи как есть, не превращая в \u0410\u043d....
- Для файлов используй json.dump(obj, file) и json.load(file) — без s.
Пример
import json
orders = [{"id": 1, "qty": 3}, {"id": 2, "qty": 7}]
Сохранить в файл
with open("/tmp/orders.json", "w") as f:
json.dump(orders, f)
Прочитать обратно
with open("/tmp/orders.json") as f:
loaded = json.load(f)
print(sum(o["qty"] for o in loaded)) # 10
Когда использовать / подводные камни
👍 Обмен с API, конфиги, логи в JSONL.
👎 datetime, set, кастомные классы напрямую в JSON не лезут — будет TypeError. Решения: предварительно конвертить в строку/список или передавать default=str. И не используй json для огромных файлов разом — там лучше построчно (jsonlines).