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

Python красивая печать JSON


Мы можем использовать модуль Python json для красивой печати данных JSON. Модуль json рекомендуется для работы с файлами JSON. Мы можем использовать метод dumps(), чтобы получить красиво отформатированную строку JSON.

1. Python Pretty Print JSON String

import json

json_data = '[{"ID":10,"Name":"Pankaj","Role":"CEO"},' \
            '{"ID":20,"Name":"David Lee","Role":"Editor"}]'

json_object = json.loads(json_data)

json_formatted_str = json.dumps(json_object, indent=2)

print(json_formatted_str)

Выход:

[
  {
    "ID": 10,
    "Name": "Pankaj",
    "Role": "CEO"
  },
  {
    "ID": 20,
    "Name": "David Lee",
    "Role": "Editor"
  }
]

  • Во-первых, мы используем json.loads() для создания объекта json из строки json.
  • Метод json.dumps() принимает объект json и возвращает строку в формате JSON. Параметр indent используется для определения уровня отступа для отформатированной строки.

2. Файл Python Pretty Print JSON

Давайте посмотрим, что происходит, когда мы пытаемся распечатать данные файла JSON. Данные файла сохраняются в красивом печатном формате.

import json

with open('Cars.json', 'r') as json_file:
    json_object = json.load(json_file)

print(json_object)

print(json.dumps(json_object))

print(json.dumps(json_object, indent=1))

Выход:

[{'Car Name': 'Honda City', 'Car Model': 'City', 'Car Maker': 'Honda', 'Car Price': '20,000 USD'}, {'Car Name': 'Bugatti Chiron', 'Car Model': 'Chiron', 'Car Maker': 'Bugatti', 'Car Price': '3 Million USD'}]
[{"Car Name": "Honda City", "Car Model": "City", "Car Maker": "Honda", "Car Price": "20,000 USD"}, {"Car Name": "Bugatti Chiron", "Car Model": "Chiron", "Car Maker": "Bugatti", "Car Price": "3 Million USD"}]
[
 {
  "Car Name": "Honda City",
  "Car Model": "City",
  "Car Maker": "Honda",
  "Car Price": "20,000 USD"
 },
 {
  "Car Name": "Bugatti Chiron",
  "Car Model": "Chiron",
  "Car Maker": "Bugatti",
  "Car Price": "3 Million USD"
 }
]

Из вывода ясно, что мы должны передать значение отступа, чтобы получить данные JSON в красивом печатном формате.

Рекомендации

  • Документация json.dumps() на Python.org
  • Вопрос о StackOverflow