Полная форма 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)