Найти тему
InformaticsEasy

Работа с JSON в Python.

Что такое JSON?

JSON (JavaScript Object Notation) - это формат обмена данными, который используется для представления структурированных данных в удобном для чтения и записи виде. JSON является текстовым форматом и основан на синтаксисе JavaScript. Он широко используется в веб-разработке для передачи данных между клиентом и сервером.

JSON представляет данные в виде пар "ключ-значение". Ключи являются строками, а значения могут быть строками, числами, логическими значениями, массивами, объектами или даже другими JSON-структурами. JSON обеспечивает простоту и гибкость при передаче и обработке данных.

Пример JSON-объекта:

Пример Json-объекта
Пример Json-объекта

В данном примере "user", "age" и "email" являются ключами, а "John", 39 и "john@mail.com" - значениями соответственно.

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

JSON является популярным форматом для передачи данных в веб-приложениях, так как он легко читается и записывается как человеком, так и компьютером. Он также хорошо поддерживается большинством языков программирования и используется в различных сценариях, включая API, базы данных и конфигурационные файлы.

Чаще JSON используют в обмене данными между клиентами (приложениями). Для этого существует такое понятие как REST API.

Место применения Json
Место применения Json

Как работать с JSON в Python?

Для работы в этим форматом в Python есть встроенная библиотека json. Конечно существуют и другие библиотеки, которые возможно круче встроенной, но для ознакомления они нам не нужны. Будем использовать ее. Установка для данной библиотеки не нужна.

Вообще как происходит обмен данными через Json. Сообщение которое передается выглядит в виде строки, которую язык потом превращает в понятный языку вариант.

Чтение json

Считывание информации из json можно сделать вот такой командой:

data = json.loads(<данные в формате str>)

На примере. Давайте создадим небольшой объект json и сохраним его в файл data.json (представим, что мы его получили извне):

Файл data.json
Файл data.json

Посмотрите внимательно: здесь true с маленькой буквы и есть null. Напишем небольшой код, чтобы получить данные из этого объекта.

simple_json.py
simple_json.py

Вот что мы получим:

Результат
Результат

Что мы получаем? В итоге у нас получается словарь, со стандартными типами данных. Только true поменялось на True и null заменился на None. Дальше с этим словарем можно работать как вам угодно.

Запись данных в json для отправки.

Допустим у нас есть словарь, который нужно превратить в json-объект для отправки. Для этого тоже есть простая команда. Вот пример:

Файл для записи json
Файл для записи json

Вот результат программы (первые 3 строки вывода 5-7):

Результат
Результат

И вот что сохранилось в файл record.json:

-8

Вот так не очень сложно работать с этим форматом.

Аналоги json типов и типов Python

-9

Поиск данных в json.

Для поиска данных в объекте используются те же методы, что и в словаре, потому что при чтении json, данные превращаются в словарь.

Но есть библиотеки, которые делают этот процесс проще и быстрее. Например, библиотека JmesPath. Библиотека не встроенная, поэтому нужно будет ее установить.

pip install JmesPath

Примеры кода:

-10

На этом всё.

Жду ваших комментариев и лайков (жмем не жалеем).

Понравилась статья - подписывайся.

Мои курсы по информатике, математике и Python.

Также приглашаю присоединится к моему сообществу в VK и каналу YouTube.

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц