JSON – зручний текстовий формат обміну даними, візуально схожий на словники в python. В цій нотатці буде розглянуто приклади роботи з JSON форматом в python, за допомогою вбудованого модуля з однойменною назвою json.
Запис об’єкту python у файл json
Для запису об’єкту python у файл з форматом json використовується метод json.dump:
import json
def dump_data_to_file():
data = {'firstName': 'Isabel', 'lastName': 'Crosby', 'age': 36}
with open('customer.json', 'w') as file_json:
json.dump(data, file_json, indent=4)- імпортовано модуль json
- створено python словник data
- відкрито файл customer.json на запис
- запис python словника data у файл
- іменований параметр indent визначає рівень відступів запису у файлі, для покращеного сприйняття
Якщо переглянути, що перебуває у файлі customer.json:

Зчитування файлу json в об’єкт python
Для зчитування файлу json в об’єкт python використовується метод json.load. Спробуємо зчитати customer.json з минулого прикладу:
import json
def load_data_from_file():
with open('customer.json') as file_json:
data = json.load(file_json)
print(type(data))
print(data)Результат виконання методу:
<class 'dict'>
{'firstName': 'Isabel', 'lastName': 'Crosby', 'age': 36}- відкрито файл customer.json на зчитування даних
- результат завантаження привласнюємо змінній data
- виводимо тип змінної data, як можна побачити це звичайний python словник
- виводимо вміст словника data
Зберігання об’єкту python у строку формату JSON
Коли немає потреби записувати об’єкт у файл, натомість є необхідність зберегти його у строку формату JSON, використовується метод json.dumps:
import json
def dumps_object_to_string():
data = {'firstName': 'Isabel', 'lastName': 'Crosby', 'age': 36}
json_string = json.dumps(data)
print(type(json_string))
print(json_string)Результат виконання методу, де словник python кодується в строку:
<class 'str'>
{"firstName": "Isabel", "lastName": "Crosby", "age": 36}Як можна побачити json_string є об’єктом str та має формат JSON.
Зчитування строки у форматі JSON в об’єкт python
Для декодування строки у форматі JSON в об’єкт python використовується метод json.loads:
import json
def loads_string_to_object():
json_string = """{"firstName": "Isabel", "lastName": "Crosby", "age": 36}"""
print(type(json_string))
data = json.loads(json_string)
print(type(data))
print(data)Результат виконання методу:
<class 'str'>
<class 'dict'>
{'firstName': 'Isabel', 'lastName': 'Crosby', 'age': 36}Рядок json_string було декодовано у python словник (data).