You are currently viewing json.dump() в Python

json.dump() в Python

Полная форма JSON — это нотация объектов JavaScript. Это означает, что для хранения и передачи данных используется файл сценария (исполняемый файл), состоящий из текста на языке программирования. Python поддерживает JSON с помощью встроенного пакета под названием json. Чтобы использовать эту функцию, мы импортируем пакет json в скрипт Python. Текст в JSON выполняется с помощью строки в кавычках, которая содержит значение в сопоставлении ключей и значений внутри { }. Он похож на словарь на Python.

json.dump()

json модуль в модуле Python предоставляет метод, называемый dump() который преобразует объекты Python в соответствующие объекты json. Это небольшой вариант dumps() метод.

Разница между dump() и dumps()

dump()dumps()
Метод dump() используется, когда объекты Python должны храниться в файле.dumps() используются, когда объекты должны быть в строковом формате и используются для синтаксического анализа, печати и т. Д.
Для dump() требуется имя файла json, в котором выходные данные должны храниться в качестве аргумента.dumps() не требуют, чтобы передавалось какое-либо такое имя файла.
Этот метод записывает данные в память, а затем отдельно выполняется команда для записи на дискЭтот метод непосредственно записывает данные в файл json
Более быстрый способв 2 раза медленнее

dump() и его аргументы

Синтаксис: json.dump(d, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None)

Параметры:

  • отступ : Это улучшает читаемость файла json. Возможные значения, которые могут быть переданы этому параметру, — это просто двойные кавычки (""), любые целочисленные значения. Простые двойные кавычки выводят каждую пару ключ-значение в новую строку.

Пример:

import json

# python object(dictionary) to be dumped
dict1 ={
	"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 stored
out_file = open("myfile.json", "w")

json.dump(dict1, out_file, indent = 6)

out_file.close()

Выход:

  • пропуски: Если ключ не относится к стандартным разрешенным типам, таким как int, float, string, None или bool, при их сбросе будет сгенерирована ошибка. Чтобы избежать этого, если для этого параметра установлено значение true.

Пример:

import json

# python object(dictionary) to be dumped
dict1 ={
	('addresss', 'street'):'Brigade road',
}

# the json file where the output must be stored
out_file = open("myfile.json", "w")

json.dump(dict1, out_file, indent = 6)

out_file.close()

Выход:

Если для skipkeys не установлено значение true, то будет сгенерирована следующая ошибка :

  • separator: Этот параметр принимает одно или два значения. Первое значение указывает символ, который отделяет одну пару ключ-значение от другой. Следующий указывает символ, который отделяет значение от его ключа.
  • sort_keys: Этот параметр принимает логическое значение. Если установлено значение True, ключи устанавливаются в порядке возрастания, в противном случае они отображаются как в объекте Python
  • ensure_ascii: Этот параметр также принимает только логические значения. Если значение не установлено в значение true, символы, отличные от ASCII, сбрасываются в выходной файл как есть. По умолчанию значение равно true.Смотрите два кода ниже, чтобы понять разницу.

Пример 1:

# dictionary to be dumped
d ={'lang':'??? ????'}

with open('myfile.json', 'w', encoding ='utf8') as json_file:
	json.dump(d, json_file, ensure_ascii = False)

Выход:

Пример 2: 

Если установлено значение True, то содержимое файла json будет:

import json


# dictionary to be dumped
d ={'lang':'??? ????'}

with open('myfile.json', 'w', encoding ='utf8') as json_file:
	json.dump(d, json_file, ensure_ascii = True)

Выход: