Найти тему
Властелин машин

Манипуляции с json данными

Оглавление

Рассмотрим функции для работы с форматом json. Они просты, однако названия могут вызывать путаницу. Для демонстрационных целей создадим словарь:

Преобразование словаря в json строку и обратно

Функция dumps преобразует словарь в json строку:

-2

На практике преобразование в строку вряд ли часто пригодится, а вот с json строкой вы будете сталкиваться, так как зачастую в datalake-ах объемная информация хранится в ячейках в виде json строки. Поэтому обратное преобразование вам понадобится. Его можно выполнить функцией loads:

-3

Обратите внимание, что ключи в json строке могут быть только строковые в отличие от словаря Python. Поэтому, обратное преобразование сказалось на типе первого ключа.

Запись/Чтение

За это отвечают аналогичные Функции без s на конце. Так, для записи словаря в виде json файла воспользуйтесь процедурой dump:

-4

Отмечу, что для сохранения структуры объекта в просмотрщике json файлов в Jupyter Lab надо передавать в первом аргументе именно словарь, а не json строку (в этом случае в dump следует передать json.loads(jsn_str)). Для считывания файла предназначена функция load:

-5

-6