Как читать/писать JSON в Python? Чем json.dumps отличается от json.dump?
1️⃣ Как кратко ответить
Для работы с JSON в Python используется модуль json. Чтение JSON из файла выполняется с помощью json.load(), а запись в файл — с помощью json.dump(). json.dumps() преобразует Python-объект в строку JSON, тогда как json.dump() записывает Python-объект в файл в формате JSON.
2️⃣ Подробное объяснение темы
JSON (JavaScript Object Notation) — это текстовый формат обмена данными, который легко читается и пишется человеком, а также легко парсится и генерируется машинами. В Python для работы с JSON используется встроенный модуль json.
Чтение JSON
Чтобы прочитать JSON-данные из файла, используется функция json.load(). Она принимает объект файла и возвращает соответствующий Python-объект (например, словарь или список).
Пример:
import json
# Открываем файл data.json в режиме чтения
with open('data.json', 'r') as file:
# Загружаем содержимое файла в переменную data
data = json.load(file)
# Теперь data содержит Python-объект, соответствующий JSON-данным
print(data)
open('data.json', 'r'): открывает файлdata.jsonв режиме чтения.json.load(file): читает JSON-данные из файла и преобразует их в Python-объект.
Запись JSON
Для записи Python-объекта в файл в формате JSON используется функция json.dump(). Она принимает Python-объект и объект файла, в который нужно записать данные.
Пример:
import json
# Python-объект, который мы хотим записать в файл
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
# Открываем файл data.json в режиме записи
with open('data.json', 'w') as file:
# Записываем Python-объект в файл в формате JSON
json.dump(data, file, indent=4)
open('data.json', 'w'): открывает файлdata.jsonв режиме записи.json.dump(data, file, indent=4): записывает Python-объектdataв файл в формате JSON. Параметрindent=4используется для форматирования JSON с отступами, чтобы он был более читаемым.
Преобразование в строку JSON
Функция json.dumps() используется для преобразования Python-объекта в строку JSON. Это полезно, когда нужно передать данные в формате JSON, например, через сеть или сохранить в базе данных.
Пример:
import json
# Python-объект
data = {
'name': 'John',
'age': 30,
'city': 'New York'
}
# Преобразуем Python-объект в строку JSON
json_string = json.dumps(data, indent=4)
# Выводим строку JSON
print(json_string)
json.dumps(data, indent=4): преобразует Python-объектdataв строку JSON. Параметрindent=4добавляет отступы для улучшения читаемости.
Различия между json.dump() и json.dumps()
json.dump(): записывает Python-объект в файл в формате JSON.json.dumps(): преобразует Python-объект в строку JSON.
Обе функции полезны для работы с JSON, но используются в разных контекстах: json.dump() — для записи в файл, а json.dumps() — для получения строки JSON.
🔒 Подпишись на бусти автора и стань Алигатором, чтобы получить полный доступ к функционалу сайта и отслеживать свой прогресс!
Подписаться