В прошлой статье мы узнали об основах работы с JSON в Python . А в этой продолжим рассматривать данную тему, в частности, узнаем как преобразовывать многомерные структуры и как форматировать вывод JSON данных в Python . Итак приступим.

Форматирование JSON в Python

В прошлой статье мы узнали об основах работы с JSON в Python. А в этой продолжим рассматривать данную тему, в частности, узнаем как преобразовывать многомерные структуры и как форматировать вывод JSON данных в Python. Итак приступим.

Пример преобразования многомерного словаря:

import json

x = {
  "site": "MyRusakov.Ru",
  "type": "SITE",
  "age": 12,
  "active": True,
  "linked": [
    {"site": "blog.myrusakov.ru", "type": "BLOG"},
    {"site": "srs.myrusakov.ru", "type": "E-Commerce"}
  ]
}

print(json.dumps(x))

Результат

{
    "site": "MyRusakov.Ru",
    "age": 12,
    "type": "SITE",
    "linked": [
        {
            "site": "blog.myrusakov.ru",
            "type": "BLOG"
        },
        {
            "site": "srs.myrusakov.ru",
            "type": "E-Commerce"
        }
    ],
    "active": true
}

Как видите через встроенный модуль json в Python можно удобно преобразовывать многомерные структуры данных.

Результат, который Вы видите выше предварительно отформатирован, однако при простом использовании json.dumps этого не произойдет и вы получите трудно читаемую строку без пробелов и отступов, которая удобна для компьютера, но не для человека.

Чтобы отформатировать вывод json.dumps, в функцию необходимо передать именованный параметр с указанием количества пробелов, которые будут использоваться для форматирования.

Пример:

json.dumps(x, indent=4) // 4 отступа

json.dumps(x, indent=4, separators=(". ", " = ")) // разделители объектов и свойств

Сортировка вывода:

json.dumps(x, indent=4, sort_keys=True) // сортировка значений

Формат JSON используются очень широко. Он прост и удобен для понимания, а главное универсален. Т.е. вне зависимости от того, какие языки и платформы вы используете, в них уже есть поддержка этого популярного формата. Также JSON очень часто используется при создании различных REST-сервисов, поэтому для разработчика Python важно знать как его использовать.