Python Schoolby trefilov
Шаг 1 из 5+100 XP

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).