Функции по работе с json
В Python для работы с JSON основная библиотека — json (встроенная, устанавливать не нужно).
1. Основные функции модуля json
jsonjson.load(file_obj)
Читает JSON из открытого файла и преобразует в Python-объект
data = json.load(f)
json.loads(str)
Читает JSON из строки
data = json.loads('{"a":1}')
json.dump(obj, file_obj)
Записывает Python-объект в файл в формате JSON
json.dump(data, f)
json.dumps(obj)
Преобразует Python-объект в строку JSON
s = json.dumps(data)
2. Примеры
📄 Чтение JSON из файла
import json
with open("data.json", "r", encoding="utf-8") as f:
data = json.load(f)
print(data) # {'name': 'Kakha', 'age': 30}📜 Чтение JSON из строки
💾 Запись JSON в файл
indent=4— красивое форматирование.ensure_ascii=False— чтобы сохранить кириллицу как есть, а не\u041a.
🔄 Преобразование Python → JSON-строка
3. Особенности
Python
dict↔ JSONobjectPython
list↔ JSONarrayPython
str↔ JSONstringPython
int/float↔ JSONnumberPython
True/False↔ JSONtrue/falsePython
None↔ JSONnull
💡 В автотестах JSON часто используют:
для парсинга API-ответов (
response.json()вrequests)для хранения тестовых данных
для сравнения ожидаемого и фактического результата
1. Чтение тестовых данных из JSON
💡 Так тесты остаются независимыми от кода — данные хранятся в отдельных файлах.
2. Работа с API и парсинг JSON
💡 response.json() — сразу отдаёт dict, без ручного json.loads().
3. Сравнение с эталонным JSON
💡 Удобно, если JSON маленький и не содержит динамических полей.
4. Игнор динамических полей при сравнении
💡 Используется, когда API возвращает время, токены и другие переменные значения.
5. Валидация JSON-схемы
💡 Это особенно любят спрашивать на собесах: как проверить, что API отдаёт данные правильного формата.
6. Преобразование JSON в строку для логов
💡 Красивый лог помогает отлаживать тесты и понимать, что вернул API.
Last updated
Was this helpful?