- Красивый вывод JSON-файла на Python
- Как красиво распечатать JSON-файл на Python
- json.dumps Метод
- Метод pprint
- Как красиво напечатать файл JSON на Python
- Что такое Pretty Print (и почему вы хотите использовать его с файлами JSON)
- Как красиво напечатать файл JSON на Python
- 1. Определите свой файл JSON
- 2. Откройте файл JSON с помощью Python.
- 3. Распечатайте свой файл JSON (и измените настройки)
- Как красиво напечатать файл JSON в Python из командной строки
- Заключение
- Python Pretty Print JSON
- 1. Python Pretty Print JSON String
- 2. Python Pretty Print JSON File
- References
Красивый вывод JSON-файла на Python
Иногда возникает необходимость просмотра или отладки JSON-файлов. JSON (JavaScript Object Notation) — это легковесный формат обмена данными, который человек может легко читать и писать, а машины могут легко анализировать и генерировать. JSON является текстовым форматом, полностью независимым от языка, но использует соглашения, знакомые программистам семейства языков C, включая C, C++, C#, Java, JavaScript, Perl, Python и многих других.
В Python встроенная библиотека json обеспечивает удобный способ работы с JSON-файлами. Однако, по умолчанию, когда вы выводите JSON-файл, он выводится в одну строку, что может быть трудно читать.
import json data = < "name": "John", "age": 30, "city": "New York" >print(json.dumps(data))
Как видите, все данные представлены в одной строке без отступов или переносов, что делает их трудными для чтения. Но есть способ сделать эти данные более структурированными и удобными для чтения.
Библиотека json в Python имеет встроенный метод, называемый dumps() , который преобразует объекты Python в строку JSON. У этого метода есть необязательный параметр indent , который определяет отступы для уровней в выходном формате JSON.
import json data = < "name": "John", "age": 30, "city": "New York" >print(json.dumps(data, indent=4))
Теперь вывод будет выглядеть намного лучше и более читаемым:
Как видите, исходные данные теперь красиво отформатированы с отступами, что делает их легкими для чтения. Использование метода dumps() с параметром indent является простым и эффективным способом красивого вывода JSON-файлов на Python.
Как красиво распечатать JSON-файл на Python
- json.dumps Метод
- Метод pprint
Содержимое JSON-файла может быть грязным, если вы прочитаете его до строки или загрузите его.
Например, в одном JSON-файле ,
["foo": "Etiam", "bar": ["rhoncus", 0, "1.0"]>]
Если вы загрузите и затем распечатаете это.
import json with open(r'C:\test\test.json', 'r') as f: json_data = json.load(f) print(json_data)
['foo': 'Etiam', 'bar': ['rhoncus', 0, '1.0']>]
Результат хорошо читается по сравнению с форматом стандарт, который мы обычно видим.
[ "foo": "Etiam", "bar": [ "rhoncus", 0, "1.0" ] > ]
json.dumps Метод
Функция json.dumps() сериализует данную obj в JSON-формате str .
Нам нужно дать положительное целое число параметру ключевого слова indent в функции json.dumps() , чтобы красиво распечатать obj с заданным уровнем отступов. Если ident установлен в 0, то он будет вставлять только новые строки.
import json with open(r'C:\test\test.json', 'r') as f: json_data = json.load(f) print(json.dumps(json_data, indent=2))
[ "foo": "Etiam", "bar": [ "rhoncus", 0, "1.0" ] > ]
Метод pprint
Модуль pprint предоставляет возможность красивой печати структур данных Python. Модуль pprint.pprint красиво печатает объект Python в поток, за которым следует новая строка.
import json import pprint with open(r'C:\test\test.json', 'r') as f: json_data = f.read() json_data = json.loads(json_data) pprint.pprint(json_data)
Содержимое данных JSON файла будет красиво напечатано. И вы также можете определить отступ, присвоив параметру indent .
pprint.pprint(json_data, indent=2)
pprint относится к одиночным ‘ и двойным кавычкам » одинаково, но JSON использует только » , поэтому pprint содержимое файла JSON не может быть сохранено непосредственно в файле.
В противном случае, новый файл не будет разобран как действительный формат JSON .
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
Как красиво напечатать файл JSON на Python
Как и многие другие языки программирования, Python хорошо работает с данными JavaScript Object Notation (JSON). Он может получать эти данные из нескольких источников и работать с ними, как с любым другим файлом. Это полезно, если вы хотите распечатать файл JSON в Python.
В этом посте мы покажем вам, как распечатать файл JSON двумя способами. Оба потребуют использования Терминала и командной строки, хотя для одного из них вам могут вообще не понадобиться знания Python.
Что такое Pretty Print (и почему вы хотите использовать его с файлами JSON)
Короче говоря, красивая печать принимает данные в необработанном формате и преобразует их во что-то удобочитаемое. Другими словами, это делает его красивым.
В обычных обстоятельствах вы будете делать это с файлами, загруженными в вашу программу, которые должны быть проанализированы человеком. Часто данные из файлов других форматов (например, файлов JSON) «минифицированы». Это удаляет все пустое пространство из кода, чтобы компьютер облегчил его синтаксический анализ.
Например, вы можете взять необработанные данные базы данных, которые были уменьшены, и запустить их через сценарий, чтобы добавить правильный отступ и другое форматирование. Оттуда вы можете экспортировать его другим и работать с ним по своему усмотрению.
Как красиво напечатать файл JSON на Python
Ниже мы покажем вам, как красиво распечатать файл JSON в Python. В наших примерах мы используем NeoVim и встроенную команду : term . Однако нет причин, по которым вы не могли бы сделать это прямо из самого Терминала в интерпретаторе Python.
1. Определите свой файл JSON
Во-первых, нам нужны данные JSON для работы. Есть два подхода, которые вы можете использовать — путем определения данных в вашем скрипте Python или через файл JSON. Мы делаем ставку на то, что большая часть данных будет поступать из файла, поэтому здесь мы сосредоточимся на этом.
В нашем случае у нас есть дамп данных JSON с примененным нулевым форматированием.
Этот файл — address.json — можно перенести в Python и отформатировать. Чтобы работать с файлами JSON в Python, вам необходимо импортировать модуль json. Затем вы можете определить сам файл как переменную.
Когда вы дойдете до этого места, вы можете начать работать с «address.json».
2. Откройте файл JSON с помощью Python.
Затем вам нужно открыть «address.json». Это делается обычным способом с помощью метода open… as :
Затем в этом блоке кода вам нужно будет вызвать json.load () для «address.json» и присвоить его переменной:
Если вы запустите этот файл сейчас, он запустится, но вы не увидите никаких результатов в Терминале. Для этого вам нужно перейти к третьему шагу.
3. Распечатайте свой файл JSON (и измените настройки)
Последний аспект красивой печати вашего JSON-файла — это выполнение самой печати. Для этого добавьте следующую строку в кодовый блок с открытым… as в виде строки с отступом:
print(json.dumps(parsed, indent=4, sort_keys=True))
Чтобы разобраться в этом, функция print вызывает json.dumps () . Это касается трех аргументов:
- Имя файла, который вы хотите красиво распечатать.
- Размер отступа.
- Следует ли сортировать файл JSON по его ключам.
Когда будете готовы, сохраните изменения, а затем откройте новое окно терминала. Здесь вам нужно перейти в нужную папку проекта и запустить программу.
Вывод Терминала применит ваши настройки и распечатает файл JSON.
Конечно, вы обычно храните красивый JSON в другом месте, а не печатаете данные в Терминале. Тем не менее, есть однострочный фрагмент, который можно использовать для красивой печати файла JSON из командной строки.
Как красиво напечатать файл JSON в Python из командной строки
Существует сверхбыстрый способ распечатать файлы JSON в Python прямо из командной строки в качестве вывода Терминала. Для этого откройте новое окно терминала, перейдите в папку своего проекта и выполните следующее:
кошачьи адреса. json | python3 -m json. инструмент
В этом примере вам нужно заменить «address.json» на собственное имя файла. После того, как вы запустите это, вы увидите вывод в формате отображения терминала.
Это отличное решение без кода для удобной печати файлов JSON на Python на лету, запуск которого занимает секунды.
Заключение
Существует несколько способов красивой печати файла JSON в Python. Часто вам нужно сделать уменьшенные данные доступными для чтения, возможно, для экспорта другим пользователям. Независимо от вашей причины, Python позволяет вам делать это с помощью модуля json и блока кода «с открытым… как».
Если вам интересно, что еще может сделать для вас Python, ознакомьтесь с другими нашими статьями о циклах Python и функции диапазон (). Поможет ли этот метод вам в повседневной работе, и если да, то как? Дайте нам знать в комментариях ниже!
Python Pretty Print JSON
While we believe that this content benefits our community, we have not yet thoroughly reviewed it. If you have any suggestions for improvements, please let us know by clicking the “report an issue“ button at the bottom of the tutorial.
We can use the Python json module to pretty-print the JSON data. The json module is recommended to work with JSON files. We can use the dumps() method to get the pretty formatted JSON string.
1. Python Pretty Print JSON String
import json json_data = '[,' \ ']' json_object = json.loads(json_data) json_formatted_str = json.dumps(json_object, indent=2) print(json_formatted_str)
- First of all, we are using json.loads() to create the json object from the json string.
- The json.dumps() method takes the json object and returns a JSON formatted string. The indent parameter is used to define the indent level for the formatted string.
2. Python Pretty Print JSON File
Let’s see what happens when we try to print a JSON file data. The file data is saved in a pretty printed format.
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))
It’s clear from the output that we have to pass the indent value to get the JSON data into a pretty printed format.
References
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.