json.dumps красиво распечатать в Python

Содержание
Introduction
Спецификация
JSON
Словарь
json.dumps + json.loads
Вложенные объекты
Статьи про Python

Introduction

Если нужно вывести в консоль словарь или json это можно сделать с помощью json.dumps

Спецификация json.dumps

Если вы хотите сразу же изучить полученный json можно воспользоваться методом dumps()

json.dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) Serialize obj to a JSON formatted str using this conversion table. The arguments have the same meaning as in dump(). Note Keys in key/value pairs of JSON are always of the type str. When a dictionary is converted into JSON, all the keys of the dictionary are coerced to strings. As a result of this, if a dictionary is converted into JSON and then back into a dictionary, the dictionary may not equal the original one. That is, loads(dumps(x)) != x if x has non-string keys.

JSON

Если нужно распечатать JSON

import json print(json.dumps(response.json(), indent=4))

Словарь

Если нужно распечатать не JSON а словарь, json.dumps нужно использовать так:

import json print(json.dumps(resp.dict, indent=4)) # Если нужно отсортировать словарь print(json.dumps(resp.dict, indent=4, sort_keys=True))

json.dumps + json.loads

Часто приходится использовать связку json.dumps + json.loads

import json response_json = json.loads(response.text) print(json.dumps(response_json, indent=4))

Обратиться ко вложенному объекту

Предположим, приходит следующий json

{ "address": { "version": 1, "date": "2021-Aug-11", "cities": [ { "id": "0", "name": "malaga", "place": { "id": "100", "name": "Форт", "status": "VISITED" } }, { "id": "1", "name": "benalmadena", "place": { "id": "150", "name": "Парк Палома", "status": "VISITED" } } ] } }

Из него нам интересен только статус городов: посещён или не посещён.

Нужно обратиться ко вложенным в json объектам

import json data_set = { "address": { "version": 1, "date": "2026-Oct-05", "cities": [ { "id": "0", "name": "malaga", "place": { "id": "100", "name": "Форт", "status": "VISITED" } }, { "id": "1", "name": "benalmadena", "place": { "id": "150", "name": "Парк Палома", "status": "VISITED" } } ] } } json_dump = json.dumps(data_set) response_json = json.loads(json_dump) cities = response_json["address"]["cities"] for city in cities: print(city["place"]["status"])

VISITED
VISITED

Article author: Andrei Olegovich

Похожие статьи
Interactive mode
str: strings
\: long line wrapping
Lists []
if, elif, else
Loops
Methods
Functions
*args **kwargs
enum
Get Variable Type
Testing with Python
Calling REST API with Python
Files: write, read, append, context manager…
Download File
SQLite3: database
datetime: Date and Time в Python
json.dumps
Selenium + Python
Issues with Python
DJANGO
Flask
ZPL printer script
socket :Python Sockets
Virtual Environment
subprocess: shell commands execution
multiprocessing
psutil: system usage
sys.argv: command prompt variables
PyCharm: IDE
pydantic: data validation
paramiko: SSH with Python
enumerate

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: