json.dump () в Python
Полная форма JSON - это нотация объектов JavaScript. Это означает, что файл сценария (исполняемый), состоящий из текста на языке программирования, используется для хранения и передачи данных. Python поддерживает JSON через встроенный пакет json . Чтобы использовать эту функцию, мы импортируем пакет json в скрипт Python. Текст в JSON создается с помощью строки в кавычках, которая содержит значение в сопоставлении "ключ-значение" в { } . Он похож на словарь в Python.
json.dump ()
json модуле Python предоставляет метод под названием dump() который преобразует объекты Python в соответствующие объекты json. Это небольшой вариант метода dumps() .
Разница между dump () и dumps ()
| свалка() | свалки () |
|---|---|
| Метод dump () используется, когда объекты Python необходимо сохранить в файле. | Dumps () используется, когда требуется, чтобы объекты были в строковом формате, и используется для синтаксического анализа, печати и т. Д. |
| Для функции dump () требуется имя файла json, в котором вывод должен быть сохранен в качестве аргумента. | Dumps () не требует передачи такого имени файла. |
| Этот метод записывает в память, а затем команда записи на диск выполняется отдельно | Этот метод напрямую записывает в файл json |
| Более быстрый метод | В 2 раза медленнее |
dump () и его аргументы
Syntax: json.dump(d, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None)
Параметры:
- отступ: улучшает читаемость файла json. Возможные значения, которые могут быть переданы этому параметру, - это просто двойные кавычки (
""), любые целочисленные значения. Простые двойные кавычки заставляют каждую пару "ключ-значение" появляться в новой строке.Пример:
importjson# python object(dictionary) to be dumpeddict1={"emp1": {"name":"Lisa","designation":"programmer","age":"34","salary":"54000"},"emp2": {"name":"Elis","designation":"Trainee","age":"24","salary":"40000"},}# the json file where the output must be storedout_file=open("myfile.json","w")json.dump(dict1, out_file, indent=6)out_file.close()Выход:

- skipkeys: если ключ не относится к стандартным допустимым типам, таким как int, float, string, None или bool, при их сбросе будет сгенерирована ошибка. Чтобы этого избежать, если для этого параметра установлено значение true .
Пример:
importjson# python object(dictionary) to be dumpeddict1={('addresss','street'):'Brigade road',}# the json file where the output must be storedout_file=open("myfile.json","w")json.dump(dict1, out_file, indent=6)out_file.close()Выход:
Если для skipkeys не задано значение true, будет сгенерирована следующая ошибка:

- разделитель: этот параметр может принимать одно или два значения. Первое значение определяет символ, отделяющий одну пару "ключ-значение" от другой. Следующий определяет символ, отделяющий значение от его ключа.
- sort_keys: этот параметр принимает логическое значение. Если установлено значение True, ключи устанавливаются в порядке возрастания, в противном случае они отображаются как в объекте Python.
- sure_ascii: этот параметр также принимает только логические значения. Если не установлено значение true, символы, отличные от ASCII, выгружаются в выходной файл как есть. По умолчанию значение истинно .
См. Два кода ниже, чтобы увидеть разницу.
Пример 1:
# dictionary to be dumpedd={'lang':'??? ????'}withopen('myfile.json','w', encoding='utf8') as json_file:json.dump(d, json_file, ensure_ascii=False)Выход:

Пример 2: Если установлено значение True, то содержимое файла json будет следующим:
importjson# dictionary to be dumpedd={'lang':'??? ????'}withopen('myfile.json','w', encoding='utf8') as json_file:json.dump(d, json_file, ensure_ascii=True)Выход:

- allow_nan: помогает сериализовать диапазон значений с плавающей запятой.
Пример 1:
importjson# dictionary to be dumpedd={'a':1,'x':float('nan')}withopen('myfile.json','w', encoding='utf8') as json_file:json.dump(d, json_file, allow_nan=False)Выход:

Пример 2: Если установлено значение True, ошибка не будет сгенерирована. Содержимое json-файла будет:
importjson# dictionary to be dumpedd={'a':1,'x':float('nan')}withopen('myfile.json','w', encoding='utf8') as json_file:json.dump(d, json_file, allow_nan=True)Выход:
