В Python есть неупорядоченная коллекция, называемая «словарь» (dict). По сути он представляет работу с той же структурой, как и в JSON, поэтому преобразования из JSON в «словарь» и обратно как мы увидим ниже достаточно прост.
Для начала определим объект с типом «словарь»:
import json # словарь с данными obj = { "name": "Shop", "orderCount": 123, "items": [ { "number": 1, "name": "Name 1" }, { "number": 2, "name": "Name 2" } ] }
Преобразуем словарь в JSON строку и обратно.
# сконвертировать объект словаря в json строку json_str = json.dumps(obj) print(json_str) # out: вернет строку '{"name": "Shop", "orderCount": 123, "items": [{"number": 1, "name": "Name 1"}, {"number": 2, "name": "Name 2"}]}' # сконвертировать объект словаря в форматированную json строку (для удобства восприятия, используя доп.параметр indent) json_str = json.dumps(obj, indent=4) print(json_str) # обратно сконвертируем json строку в объект словарь obj = json.loads(json_str) print(obj)
Для парсинга json удобно работать с ним именно как с объектом «словарь», поэтому после преобразования json строки в объект словарь, можно обращаться к его элементам так:
print("name: ", obj['name']) print('number of item 1: ", obj['items'][0]['number'])