Python

Як читати та писати файли Json у Python

Як читати та писати файли Json у Python
У цій статті буде пояснено, як обробляти файли JSON та дані мовою програмування Python. Python постачається із вбудованим модулем "json", що робить обробку даних JSON легкою та зрозумілою.

Про JSON

JSON (JavaScript Object Notation) - це формат файлу та стандарт зберігання даних, який використовує пари ключ-значення для зберігання та обміну даними. Це найбільш широко використовуваний формат обміну даними, який часто зустрічається в RESTful API, легких базах даних, конфігураційних файлах та іншому програмному забезпеченні для офлайн- та онлайн-обробки, що потребує зберігання, отримання та обміну даними. Більшість мов програмування включають бібліотеки для аналізу та запису даних JSON за замовчуванням, а JSON - формат агностичних даних мови програмування. Значення, що зберігаються у файлі JSON або корисному навантаженні, зазвичай містять рядки, числа та серіалізуються типи даних, такі як списки (масиви).

Словники JSON та Python

Дані JSON у python перетворюються у об’єкт словника за допомогою методу “load”. Часто можна побачити, що деякі люди прирівнюють дані json та словник python, оскільки синтаксис їх обох майже однаковий. Однак дані json - це не що інше, як текстовий рядок, структурований у жорсткому синтаксисі, тоді як словник python - це об'єкт структури даних, що зберігається в пам'яті. Якщо ви хочете зберегти дані словника у текстовому файлі або надіслати їх іншій програмі, яка не є пітоном, вам доведеться спочатку перетворити їх у текстовий рядок (байти). Цей дамп / перетворений текстовий рядок визначено у стандартному синтаксисі JSON, а процес перетворення словника python у рядок, сумісний із json, називається серіалізацією.

Читання та скидання даних JSON у Python

Дані JSON можна отримати як відповідь із сервера, прочитати з файлу, нарізати з параметрів запиту URL-адреси тощо. Ця стаття в основному буде зосереджена на читанні даних JSON з локально збереженого файлу. Припустимо, що “тест.json ”містить такі дані:

"codename": "Eoan Ermine", "version": "Ubuntu 19.10 "

Щоб прочитати тест.json у python, ви можете використовувати код нижче:

імпорт JSON
з відкритим ("тест.json ") як f:
дані = json.навантаження (f)
дамп = json.звалища (дані)
друк (дані)
друк (тип (дані))
друк (дамп)
друк (тип (дамп))

Перший рядок у наведеному вище коді імпортує модуль json. У наступному рядку для відкриття вмісту файлу використовується “with open”. У блоці “with open” “json.метод завантаження ”використовується для читання та зберігання вмісту файлу у змінній“ data ”. Дані, завантажені на попередньому кроці, перетворюються назад у рядок json за допомогою “json.дамп ”метод. Запуск коду вище покаже наступний результат:

'codename': 'Eoan Ermine', 'version': 'Ubuntu 19.10 '

"codename": "Eoan Ermine", "version": "Ubuntu 19.10 "

Зверніть увагу на вихідні дані, що “json.load ”зчитує необроблені дані json у словнику python, тоді як“ json.дампів ”перетворює словник у рядок, сумісний зі структурою JSON. Після того, як об’єкт JSON було перетворено в об’єкт словника python, ви можете використовувати вбудовані методи словника python для обробки даних. Наведений вище приклад досить базовий і не включає масиви в даних JSON або вкладені значення. Однак у python ви можете обробляти ці значення, як і будь-які інші вкладені словники та списки.

Сортування та симпатичний друк даних JSON

Значок “json.метод дампа ”підтримує деякі необов’язкові параметри для сортування ключів і гарненький друк вихідних даних для поліпшення читабельності.

імпорт JSON
з відкритим ("тест.json ") як f:
дані = json.навантаження (f)
дамп = json.дампи (data, sort_keys = True, відступ = 4)
друк (дамп)

У наведеному вище коді буде показано такий результат:


"codename": "Eoan Горностай",
"version": "Ubuntu 19.10 "

Перетворення типів даних

Список нижче ілюструє, як значення JSON перетворюються на об'єкти python і навпаки.

JSON Python
рядок вул
номер int або float
правда, брехня Правда, Неправда
нуль Жоден
масив список
об'єкт дикт

Джсон.інструмент Модуль командного рядка

Python включає приємну утиліту командного рядка “json.інструмент », який можна використовувати для перевірки та симпатичного друку рядків та файлів JSON.

$ echo '"codename": "Eoan Ermine", "version": "Ubuntu 19.10 " '| python3 -m json.інструмент

Запуск команди вище покаже вам наступний результат:


"codename": "Eoan Горностай",
"version": "Ubuntu 19.10 "

Ви також можете використовувати json.інструмент з файлами JSON. Замініть “in_file” та “out_file” у команді нижче на бажані значення:

$ python3 -m json.інструмент in_file out_file

Крім гарного друку, сортування та перевірки даних JSON, json.інструмент більше нічого не робить. Отже, якщо ви хочете маніпулювати будь-якими даними JSON, вам доведеться написати власний власний код за допомогою вбудованого модуля JSON.

Як встановити League of Legends на Ubuntu 14.04
Якщо ви шанувальник League of Legends, то це можливість для вас тестувати League of Legends. Зверніть увагу, що LOL підтримується на PlayOnLinux, якщо...
Встановіть останню стратегічну гру OpenRA на Ubuntu Linux
OpenRA - це ігровий движок Libre / Free Real Time Strategy, який відтворює ранні ігри Вествуда, такі як класичний Command & Conquer: Red Alert. Пошире...
Встановіть найновіший емулятор Dolphin для Gamecube & Wii на Linux
Емулятор Dolphin дозволяє грати у вибрані вами ігри Gamecube та Wii на персональних комп’ютерах Linux (ПК). Будучи вільно доступним і відкритим ігров...