Python: как парсить JSON и вывести отформатированным его на экран

В 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'])

 

Рейтинг
( 4 оценки, среднее 3.5 из 5 )
Понравилась статья? Поделиться с друзьями: