Парсинг JSON в Python
Модуль JSON входит в стандартную библиотеку Python и является эффективным средством взаимодействия с JavaScript Object Notation (именно так расшифровывается JSON). Функции этого модуля дают возможность разработчику кодировать и декодировать информацию при работе с различными JSON-объектами. Всё это существенно упрощает создание веб-приложений в Python.
Пару слов о JSON
JSON сегодня очень распространён и представляет собой формат данных, представленных в текстовом виде. За счёт своей универсальности и простоты JSON прекрасно работает на различных платформах. С его помощью разработчик может выполнять сериализацию структур информации в целях последующей передачи данных между приложениями. Как пример — обмен текстовой информацией между сервером и браузером о клиентах в интернет-магазине.
Данные в формате JSON могут быть представлены в нескольких видах: 1) последовательность пар с ключами и соответствующими этим ключам значениями; 2) упорядоченный набор значений.
Значения, передаваемые в JSON, могут быть строками, числами, объектами, литералами (true, false, null), одномерными массивами. Что касается Python, то он поддерживает работу с JSON-форматом с помощью специального json-модуля и методов по кодированию/декодированию данных. В результате можно получать и отправлять сведения в виде, комфортном для чтения.
Сохраняем данные в JSON в Python
Если мы хотим записать информацию в JSON-формате, используя средства языка программирования Python, для начала надо подключить соответствующий json-модуль. Для этого нам пригодиться команда
Также стоит упомянуть метод
Теперь давайте продемонстрируем кодирование словаря dictData. В нём содержатся некоторые данные о пользователе интернет-портала: идентификационный код, пароль, логин, имя, номер телефона, информация об активности, e-mail. Все эти значения представлены в форме обыкновенных строк, а также булевых литералов True/False и целых чисел. Вот наш пример:
import json dictData = { "ID" : 310450, "login" : "admin", "name" : "James Bond", "password" : "root", "phone" : 3330303, "email" : " [email protected]", "online" : True } jsonData = json.dumps(dictData) print(jsonData) {"ID": 310450, "login": "admin", "name": "James Bond", "password": "root", "phone": 3330303, "email": "[email protected] ", "online": true}
Выполнив метод
Теперь, используя Python, выполним запись json в файл. Чтобы это сделать, дополним предыдущий код:
with open("data.json", "w") as file: file.write(jsonData)
Разбираем JSON-данные в Python
Если мы хотим выполнить обратную операцию и быстро раскодировать формат JSON средствами языка Python, нам поможет метод
В нашем следующем примере мы продемонстрируем создание аналогичного JSON-объекта с имеющейся информацией о пользователе. Если мы будем в качестве параметра передавать переменную jsonData методу
import json jsonData = """ { "ID" : 310450, "login" : "admin", "name" : "James Bond", "password" : "root", "phone" : 3330303, "email" : " [email protected]", "online" : true } """ dictData = json.loads(jsonData) print(dictData["name"]) print(dictData["phone"]) print(dictData["email"]) print(dictData["online"]) James Bond 3330303 [email protected] True
Мы видим, что произошло обратное, а литерал true автоматически преобразовался в True. Это произошло, чтобы была возможность работать с ним средствами Python.
P.S. Итак, мы выполнили кодирование и декодирование информации в JSON-формате с помощью встроенных средств Python. Благодаря наличию удобных методов из модуля json (dumps и loads), эти операции были осуществлены довольно просто. Остаётся добавить, что функции