Модуль json выполняет всю работу по преобразованию данных из формата Json в значения Python и обратно.
Формат json не обеспечивает хранение всех типов значений. Вам лучше хранить данные в виде словарей или списков, а потом генерировать данные в формат json. Можно сгенерировать данные в json и записать в текстовой файл. Этот способ не самый лучший. Формат json позволяет хранить лишь следующие типы данных: строки, целевые и вещественные числа, булевы значения, списки словари и значения NoneType. Формат не может предоставлять специфические объекты Python, такие как объекты File, Reader и Writer, предназначенные для работы с CSV-файлами, объекты Regex.
json.loads() - чтение Json-данных. Передайте строку json в качестве данных для входного параметра. Передаваемая строка всегда должна быть в кавычках. Функция всегда возвращает словарь (dict).
# -*- coding: utf-8 -*-
import json
#str = ""
str = '{"key":["python", "py", 2]}'
jsonDate = json.loads(str)
print(jsonDate)
'''
вывод:
{'key': ['python', 'py', 2]}
'''
print(jsonDate['key'])
'''
вывод:
['python', 'py', 2]
'''
json.dumps - переводит значение Python в строку данных в формате Json. Значением может быть один из следующих элементарных типов данных Python: словарь, список, целое или вещественное число, строка булево значение и None.
# -*- coding: utf-8 -*-
import json
arr = {"key": {"lang":"python", "name": "Ivan", "arr":[1,2,3,4,5]}}
str = json.dumps(arr)
print(str)
'''
вывод:
{"key": {"lang": "python", "name": "Ivan", "arr": [1, 2, 3, 4, 5]}}
'''