JSON виступає за Дж ава С склеп О предмет Н отація. Це формат для структурування даних. Цей формат використовується різними веб-додатками для спілкування один з одним. У цій статті ми дізнаємося про JSON pretty print
Що таке JSON?
JSON (JavaScript Object Notation) — це текстовий формат даних, який взаємозамінний багатьма мовами програмування. Він зазвичай використовується для передачі даних між додатками клієнт-сервер. Зазвичай мінімізовані версії тексту JSON передаються для економії пропускної здатності. Однак для налагодження та аналізу потрібна покращена версія або гарний друкований JSON. По суті, красивий друк JSON означає наявність належних відступів, пробілів і роздільників.
приклад:
Input: '[ {'studentid': 1, 'name': 'ABC', 'subjects': ['Python', 'Data Structures']}]' Output: [ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] } ]> json.dumps() у Python
Спочатку використовуйте метод json.loads(), щоб перетворити рядок JSON на Python об'єкт. Для перетворення цього об’єкта на рядок JSON для красивого друку використовується метод json.dumps(). Нижче наведено приклади та кроки, щоб краще зрозуміти ці випадки.
Синтаксис: json.dumps(obj, відступ, роздільник)
Параметр:
- об'єкт: Серіалізуйте obj як потік у форматі JSON
- відступ: Якщо відступ є невід’ємним цілим числом або рядком, елементи масиву JSON і члени об’єкта будуть надруковані з таким рівнем відступу. Рівень відступу 0, негативний або вставлятиме лише нові рядки.
- роздільники: Якщо вказано, роздільники мають бути кортежем (item_separator, key_separator).
Pretty Print Рядок JSON
Цей метод має параметр indent для визначення кількості пробілів і параметр separator для визначення роздільника між ключем і значенням. За замовчуванням роздільником є кома між парами ключ-значення та двокрапка між ключем і значенням. Якщо параметр відступу json.dumps() від’ємний, 0 або порожній рядок, то відступів немає, і вставляються лише нові рядки. За замовчуванням для відступу встановлено значення «Немає», а дані представлено в одному рядку.
Код бере рядок JSON, що містить записи студентів, аналізує його в структуру даних Python, а потім красиво друкує дані JSON з належним відступом для кращої читабельності.
Python3
незмінний список java
import> json> json_data>=> '[ {>'studentid'>:>1>,>'name'>:>'ABC'>,> 'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]} ]'> obj>=> json.loads(json_data)> json_formatted_str>=> json.dumps(obj, indent>=>4>)> print>(json_formatted_str)> |
>
>
Вихід:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Красиво надруковані дані JSON у файл із відступ=0 .
Код бере рядок JSON, що містить записи студентів, аналізує його в структуру даних Python, а потім красиво друкує дані JSON з нульовим відступом, роблячи його компактним і менш читабельним.
Python3
10 у степені 6
import> json> json_data>=> '[ {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]} ]'> obj>=> json.loads(json_data)> json_formatted_str>=> json.dumps(obj, indent>=>0>)> print>(json_formatted_str)> |
>
>
Вихід:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Запис даних Pretty Print JSON у файл
Щоб записати об’єкт Python як дані формату JSON Pretty Print у файл, використовується метод json.dump(). Подібно до методу json.dumps(), він має параметри відступів і розділювачів для написання прикрашеного JSON.
Python3
import> json> data>=> [{>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]},> >{>'studentid'>:>2>,>'name'>:>'PQR'>,> >'subjects'>: [>'Java'>,>'Operating System'>]}]> with>open>(>'filename.json'>,>'w'>) as write_file:> >json.dump(data, write_file, indent>=>4>)> |
>
>
Вихід:
ім'я файлу.json
Читання даних JSON і гарний друк
Щоб прочитати JSON із файлу чи URL-адреси, використовуйте json.load(). Потім скористайтеся json.dumps(), щоб перетворити об’єкт (отриманий у результаті читання файлу) у красивий друкований рядок JSON.
Python3
символ java в рядок
import> json> with>open>(>'filename.json'>,>'r'>) as read_file:> > >obj>=> json.load(read_file)> >pretty_json>=> json.dumps(obj, indent>=>4>)> >print>(pretty_json)> |
>
>
Вихід:
[ { 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }, { 'studentid': 2, 'name': 'PQR', 'subjects': [ 'Java', 'Operating System' ] } ]> Використання модуль pprint для красивого друку JSON щоб надрукувати наш формат JSON
Цей код зчитує дані JSON із файлу test.json, аналізує їх у структуру даних Python, а потім друкує за допомогою вбудованихprint>функція таpprint>модуль. Thepprint>модуль використовується для красивого друку даних JSON із спеціальними параметрами форматування, такими як відступ 2, ширина рядка 30 символів і компактне представлення.
Python3
import> json> import> pprint> with>open>(>'test.json'>,>'r'>) as json_data:> >student>=> json.load(json_data)> >print>(student)> >print>(>'
'>)> pp>=> pprint.PrettyPrinter(indent>=>2>, width>=>30>, compact>=>True>)> print>(>'Pretty Printing using pprint module'>)> pp.pprint(student)> |
Кет тимпф чистий капітал
>
>
Вихід:
{'Teacher_id': 1, 'name': 'Suraj', 'Salary': 50000, 'attendance': 80, 'Branch': ['English', 'Geometry', 'Physics', 'World History'], 'email': '[email protected]'} Pretty Printing using pprint module ('{'Teacher_id': 1, 'name': ' ''Suraj', 'Salary': 50000, ' ''attendance': 80, ' ''Branch': ['English', ' ''Geometry', 'Physics', ' ''World History'], 'email': ' ''[email protected]'}')> Красиво надрукуйте JSON з командного рядка
У цьому прикладі ми намагаємося надрукувати дані за допомогою командного рядка. Для перевірки та красивого друку об’єктів JSON із командного рядка Python пропонує пакет json.tool.
Python3
echo {>'studentid'>:>1>,>'name'>:>'ABC'>,> >'subjects'>: [>'Python'>,>'Data Structures'>]} | python>->m json.tool> |
>
python __dict__
>
Вихід:
{ 'studentid': 1, 'name': 'ABC', 'subjects': [ 'Python', 'Data Structures' ] }>